numerical linear algebra
   HOME

TheInfoList



OR:

Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create
computer algorithms In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
which efficiently and accurately provide approximate answers to questions in
continuous Continuity or continuous may refer to: Mathematics * Continuity (mathematics), the opposing concept to discreteness; common examples include ** Continuous probability distribution or random variable in probability and statistics ** Continuous ...
mathematics. It is a subfield of
numerical analysis Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
, and a type of
linear algebra Linear algebra is the branch of mathematics concerning linear equations such as: :a_1x_1+\cdots +a_nx_n=b, linear maps such as: :(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n, and their representations in vector spaces and through matrices. ...
.
Computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s use
floating-point arithmetic In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
and cannot exactly represent
irrational Irrationality is cognition, thinking, talking, or acting without inclusion of rationality. It is more specifically described as an action or opinion given through inadequate use of reason, or through emotional distress or cognitive deficiency. T ...
data, so when a computer algorithm is applied to a matrix of data, it can sometimes increase the difference between a number stored in the computer and the true number that it is an approximation of. Numerical linear algebra uses properties of vectors and matrices to develop computer algorithms that minimize the error introduced by the computer, and is also concerned with ensuring that the algorithm is as efficient as possible. Numerical linear algebra aims to solve problems of continuous
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
using finite precision computers, so its applications to the
natural Nature, in the broadest sense, is the physical world or universe. "Nature" can refer to the phenomena of the physical world, and also to life in general. The study of nature is a large, if not the only, part of science. Although humans are p ...
and
social sciences Social science is one of the branches of science, devoted to the study of societies and the relationships among individuals within those societies. The term was formerly used to refer to the field of sociology, the original "science of soci ...
are as vast as the applications of continuous mathematics. It is often a fundamental part of
engineering Engineering is the use of scientific method, scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad rang ...
and
computational science Computational science, also known as scientific computing or scientific computation (SC), is a field in mathematics that uses advanced computing capabilities to understand and solve complex problems. It is an area of science that spans many disc ...
problems, such as
image An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
and
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, and scientific measurements. Signal processing techniq ...
,
telecommunication Telecommunication is the transmission of information by various types of technologies over wire, radio, optical, or other electromagnetic systems. It has its origin in the desire of humans for communication over a distance greater than that fe ...
,
computational finance Computational finance is a branch of applied computer science that deals with problems of practical interest in finance.Rüdiger U. Seydel, '' tp://nozdr.ru/biblio/kolxo3/F/FN/Seydel%20R.U.%20Tools%20for%20Computational%20Finance%20(4ed.,%20Spring ...
, materials science simulations,
structural biology Structural biology is a field that is many centuries old which, and as defined by the Journal of Structural Biology, deals with structural analysis of living material (formed, composed of, and/or maintained and refined by living cells) at every le ...
, data mining,
bioinformatics Bioinformatics () is an interdisciplinary field that develops methods and software tools for understanding biological data, in particular when the data sets are large and complex. As an interdisciplinary field of science, bioinformatics combi ...
, and
fluid dynamics In physics and engineering, fluid dynamics is a subdiscipline of fluid mechanics that describes the flow of fluids— liquids and gases. It has several subdisciplines, including ''aerodynamics'' (the study of air and other gases in motion) an ...
. Matrix methods are particularly used in finite difference methods,
finite element methods The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat ...
, and the modeling of
differential equations In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
. Noting the broad applications of numerical linear algebra,
Lloyd N. Trefethen Lloyd Nicholas Trefethen (born 30 August 1955) is an American mathematician, professor of numerical analysis and head of the Numerical Analysis Group at the Mathematical Institute, University of Oxford. Education Trefethen was born 30 August 19 ...
and David Bau, III argue that it is "as fundamental to the mathematical sciences as calculus and differential equations", even though it is a comparatively small field. Because many properties of matrices and vectors also apply to functions and operators, numerical linear algebra can also be viewed as a type of
functional analysis Functional analysis is a branch of mathematical analysis, the core of which is formed by the study of vector spaces endowed with some kind of limit-related structure (e.g. Inner product space#Definition, inner product, Norm (mathematics)#Defini ...
which has a particular emphasis on practical algorithms. Common problems in numerical linear algebra include obtaining matrix decompositions like the
singular value decomposition In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix. It generalizes the eigendecomposition of a square normal matrix with an orthonormal eigenbasis to any \ m \times n\ matrix. It is related ...
, the
QR factorization In linear algebra, a QR decomposition, also known as a QR factorization or QU factorization, is a decomposition of a matrix ''A'' into a product ''A'' = ''QR'' of an orthogonal matrix ''Q'' and an upper triangular matrix ''R''. QR decomp ...
, the
LU factorization In numerical analysis and linear algebra, lower–upper (LU) decomposition or factorization factors a matrix as the product of a lower triangular matrix and an upper triangular matrix (see matrix decomposition). The product sometimes includes a p ...
, or the
eigendecomposition In linear algebra, eigendecomposition is the factorization of a matrix into a canonical form, whereby the matrix is represented in terms of its eigenvalues and eigenvectors. Only diagonalizable matrices can be factorized in this way. When the matr ...
, which can then be used to answer common linear algebraic problems like solving linear systems of equations, locating eigenvalues, or least squares optimisation. Numerical linear algebra's central concern with developing algorithms that do not introduce errors when applied to real data on a finite precision computer is often achieved by
iterative Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
methods rather than direct ones.


History

Numerical linear algebra was developed by computer pioneers like
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest cove ...
,
Alan Turing Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher, and theoretical biologist. Turing was highly influential in the development of theoretical com ...
, James H. Wilkinson,
Alston Scott Householder Alston Scott Householder (5 May 1904 – 4 July 1993) was an American mathematician who specialized in mathematical biology and numerical analysis. He is the inventor of the Householder transformation and of Householder's method. Career Hous ...
,
George Forsythe George Elmer Forsythe (January 8, 1917 – April 9, 1972) was an American computer scientist and numerical analyst who founded and led Stanford University's Computer Science Department. Forsythe is often credited with coining the term "computer ...
, and
Heinz Rutishauser Heinz Rutishauser (30 January 1918 – 10 November 1970) was a Swiss mathematician and a pioneer of modern numerical mathematics and computer science. Life Rutishauser's father died when he was 13 years old and his mother died three years lat ...
, in order to apply the earliest computers to problems in continuous mathematics, such as ballistics problems and the solutions to systems of
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a Multivariable calculus, multivariable function. The function is often thought of as an "unknown" to be sol ...
s. The first serious attempt to minimize computer error in the application of algorithms to real data is John von Neumann and
Herman Goldstine Herman Heine Goldstine (September 13, 1913 – June 16, 2004) was a mathematician and computer scientist, who worked as the director of the IAS machine at Princeton University's Institute for Advanced Study and helped to develop ENIAC, the ...
's work in 1947. The field has grown as technology has increasingly enabled researchers to solve complex problems on extremely large high-precision matrices, and some numerical algorithms have grown in prominence as technologies like parallel computing have made them practical approaches to scientific problems.


Matrix decompositions


Partitioned matrices

For many problems in applied linear algebra, it is useful to adopt the perspective of a matrix as being a concatenation of column vectors. For example, when solving the linear system x = A^b, rather than understanding ''x'' as the product of A^ with ''b'', it is helpful to think of ''x'' as the vector of
coefficients In mathematics, a coefficient is a multiplicative factor in some term of a polynomial, a series, or an expression; it is usually a number, but may be any expression (including variables such as , and ). When the coefficients are themselves var ...
in the linear expansion of ''b'' in the
basis Basis may refer to: Finance and accounting * Adjusted basis, the net cost of an asset after adjusting for various tax-related items *Basis point, 0.01%, often used in the context of interest rates * Basis trading, a trading strategy consisting ...
formed by the columns of ''A''. Thinking of matrices as a concatenation of columns is also a practical approach for the purposes of matrix algorithms. This is because matrix algorithms frequently contain two nested loops: one over the columns of a matrix ''A'', and another over the rows of ''A''. For example, for matrices A^ and vectors x^ and y^, we could use the column partitioning perspective to compute ''Ax'' + ''y'' as for q = 1:n for p = 1:m y(p) = A(p,q)*x(q) + y(p) end end


Singular value decomposition

The singular value decomposition of a matrix A^ is A = U \Sigma V^\ast where ''U'' and ''V'' are
unitary Unitary may refer to: Mathematics * Unitary divisor * Unitary element * Unitary group * Unitary matrix * Unitary morphism * Unitary operator * Unitary transformation * Unitary representation * Unitarity (physics) * ''E''-unitary inverse semigrou ...
, and \Sigma is
diagonal In geometry, a diagonal is a line segment joining two vertices of a polygon or polyhedron, when those vertices are not on the same edge. Informally, any sloping line is called diagonal. The word ''diagonal'' derives from the ancient Greek δ ...
. The diagonal entries of \Sigma are called the
singular values In mathematics, in particular functional analysis, the singular values, or ''s''-numbers of a compact operator T: X \rightarrow Y acting between Hilbert spaces X and Y, are the square roots of the (necessarily non-negative) eigenvalues of the self- ...
of ''A''. Because singular values are the square roots of the
eigenvalues In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted b ...
of AA^\ast, there is a tight connection between the singular value decomposition and eigenvalue decompositions. This means that most methods for computing the singular value decomposition are similar to eigenvalue methods; perhaps the most common method involves Householder procedures.


QR factorization

The QR factorization of a matrix A^ is a matrix Q^ and a matrix R^ so that ''A = QR'', where ''Q'' is
orthogonal In mathematics, orthogonality is the generalization of the geometric notion of ''perpendicularity''. By extension, orthogonality is also used to refer to the separation of specific features of a system. The term also has specialized meanings in ...
and ''R'' is
upper triangular In mathematics, a triangular matrix is a special kind of square matrix. A square matrix is called if all the entries ''above'' the main diagonal are zero. Similarly, a square matrix is called if all the entries ''below'' the main diagonal ar ...
. The two main algorithms for computing QR factorizations are the
Gram–Schmidt process In mathematics, particularly linear algebra and numerical analysis, the Gram–Schmidt process is a method for orthonormalizing a set of vectors in an inner product space, most commonly the Euclidean space equipped with the standard inner produ ...
and the
Householder transformation In linear algebra, a Householder transformation (also known as a Householder reflection or elementary reflector) is a linear transformation that describes a reflection about a plane or hyperplane containing the origin. The Householder transformati ...
. The QR factorization is often used to solve linear least-squares problems, and eigenvalue problems (by way of the iterative
QR algorithm In numerical linear algebra, the QR algorithm or QR iteration is an eigenvalue algorithm: that is, a procedure to calculate the eigenvalues and eigenvectors of a matrix. The QR algorithm was developed in the late 1950s by John G. F. Francis and by ...
).


LU factorization

An LU factorization of a matrix ''A'' consists of a lower triangular matrix ''L'' and an upper triangular matrix ''U'' so that ''A = LU''. The matrix ''U'' is found by an upper triangularization procedure which involves left-multiplying ''A'' by a series of matrices M_1,\ldots,M_ to form the product M_ \cdots M_1 A = U, so that equivalently L = M_1^ \cdots M_^.


Eigenvalue decomposition

The eigenvalue decomposition of a matrix A^ is A = X \Lambda X^, where the columns of ''X'' are the eigenvectors of ''A'', and \Lambda is a diagonal matrix the diagonal entries of which are the corresponding eigenvalues of ''A''. There is no direct method for finding the eigenvalue decomposition of an arbitrary matrix. Because it is not possible to write a program that finds the exact roots of an arbitrary polynomial in finite time, any general eigenvalue solver must necessarily be iterative.


Algorithms


Gaussian elimination

From the numerical linear algebra perspective, Gaussian elimination is a procedure for factoring a matrix ''A'' into its ''LU'' factorization, which Gaussian elimination accomplishes by left-multiplying ''A'' by a succession of matrices L_ \cdots L_2 L_1 A = U until ''U'' is upper triangular and ''L'' is lower triangular, where L \equiv L_1^L_2^ \cdots L_^. Naive programs for Gaussian elimination are notoriously highly unstable, and produce huge errors when applied to matrices with many significant digits. The simplest solution is to introduce pivoting, which produces a modified Gaussian elimination algorithm that is stable.


Solutions of linear systems

Numerical linear algebra characteristically approaches matrices as a concatenation of columns vectors. In order to solve the linear system x = A^b, the traditional algebraic approach is to understand ''x'' as the product of A^ with ''b''. Numerical linear algebra instead interprets ''x'' as the vector of coefficients of the linear expansion of ''b'' in the basis formed by the columns of ''A''. Many different decompositions can be used to solve the linear problem, depending on the characteristics of the matrix ''A'' and the vectors ''x'' and ''b'', which may make one factorization much easier to obtain than others. If ''A'' = ''QR'' is a QR factorization of ''A'', then equivalently Rx = Q^\ast b. This is easy to compute as a matrix factorization. If A = X \Lambda X^ is an eigendecomposition ''A'', and we seek to find ''b'' so that ''b'' = ''Ax'', with b' = X^b and x' = X^x, then we have b' = \Lambda x'. This is closely related to the solution to the linear system using the singular value decomposition, because singular values of a matrix are the square roots of its eigenvalues. And if ''A'' = ''LU'' is an ''LU'' factorization of ''A'', then ''Ax'' = ''b'' can be solved using the triangular matrices ''Ly'' = ''b'' and ''Ux'' = ''y''.


Least squares optimisation

Matrix decompositions suggest a number of ways to solve the linear system ''r'' = ''b'' − ''Ax'' where we seek to minimize ''r'', as in the regression problem. The QR algorithm solves this problem by first defining ''y'' ''= Ax'', and then computing the reduced QR factorization of ''A'' and rearranging to obtain \widehatx = \widehat^\ast b. This upper triangular system can then be solved for ''b''. The SVD also suggests an algorithm for obtaining linear least squares. By computing the reduced SVD decomposition A = \widehat\widehatV^\ast and then computing the vector \widehat^\ast b, we reduce the least squares problem to a simple diagonal system. The fact that least squares solutions can be produced by the QR and SVD factorizations means that, in addition to the classical
normal equations In statistics, ordinary least squares (OLS) is a type of linear least squares method for choosing the unknown parameters in a linear regression model (with fixed level-one effects of a linear function of a set of explanatory variables) by the p ...
method for solving least squares problems, these problems can also be solved by methods that include the Gram-Schmidt algorithm and Householder methods.


Conditioning and stability

Allow that a problem is a function f: X \to Y, where ''X'' is a normed vector space of data and ''Y'' is a normed vector space of solutions. For some data point x \in X, the problem is said to be ill-conditioned if a small perturbation in ''x'' produces a large change in the value of ''f''(''x''). We can quantify this by defining a condition number which represents how well-conditioned a problem is, defined as \widehat = \lim_ \sup_ \frac. Instability is the tendency of computer algorithms, which depend on
floating-point arithmetic In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
, to produce results that differ dramatically from the exact mathematical solution to a problem. When a matrix contains real data with many
significant digits Significant figures (also known as the significant digits, ''precision'' or ''resolution'') of a number in positional notation are digits in the number that are reliable and necessary to indicate the quantity of something. If a number expre ...
, many algorithms for solving problems like linear systems of equation or least squares optimisation may produce highly inaccurate results. Creating stable algorithms for ill-conditioned problems is a central concern in numerical linear algebra. One example is that the stability of householder triangularization makes it a particularly robust solution method for linear systems, whereas the instability of the normal equations method for solving least squares problems is a reason to favour matrix decomposition methods like using the singular value decomposition. Some matrix decomposition methods may be unstable, but have straightforward modifications that make them stable; one example is the unstable Gram–Schmidt, which can easily be changed to produce the stable modified Gram–Schmidt. Another classical problem in numerical linear algebra is the finding that Gaussian elimination is unstable, but becomes stable with the introduction of pivoting.


Iterative methods

There are two reasons that iterative algorithms are an important part of numerical linear algebra. First, many important numerical problems have no direct solution; in order to find the eigenvalues and eigenvectors of an arbitrary matrix, we can only adopt an iterative approach. Second, noniterative algorithms for an arbitrary m \times m matrix require O(m^3) time, which is a surprisingly high floor given that matrices contain only m^2 numbers. Iterative approaches can take advantage of several features of some matrices to reduce this time. For example, when a matrix is sparse, an iterative algorithm can skip many of the steps that a direct approach would necessarily follow, even if they are redundant steps given a highly structured matrix. The core of many iterative methods in numerical linear algebra is the projection of a matrix onto a lower dimensional
Krylov subspace In linear algebra, the order-''r'' Krylov subspace generated by an ''n''-by-''n'' matrix ''A'' and a vector ''b'' of dimension ''n'' is the linear subspace spanned by the images of ''b'' under the first ''r'' powers of ''A'' (starting from A^0=I), ...
, which allows features of a high-dimensional matrix to be approximated by iteratively computing the equivalent features of similar matrices starting in a low dimension space and moving to successively higher dimensions. When ''A'' is symmetric and we wish to solve the linear problem ''Ax'' = ''b'', the classical iterative approach is the
conjugate gradient method In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterativ ...
. If ''A'' is not symmetric, then examples of iterative solutions to the linear problem are the
generalized minimal residual method In mathematics, the generalized minimal residual method (GMRES) is an iterative method for the numerical solution of an indefinite nonsymmetric system of linear equations. The method approximates the solution by the vector in a Krylov subspace with ...
and CGN. If ''A'' is symmetric, then to solve the eigenvalue and eigenvector problem we can use the
Lanczos algorithm The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power iteration, power methods to find the m "most useful" (tending towards extreme highest/lowest) eigenvalues and eigenvectors of an n \times n ...
, and if ''A'' is non-symmetric, then we can use
Arnoldi iteration In numerical linear algebra, the Arnoldi iteration is an eigenvalue algorithm and an important example of an iterative method. Arnoldi finds an approximation to the eigenvalues and eigenvectors of general (possibly non-Hermitian) matrices by const ...
.


Software

Several programming languages use numerical linear algebra optimisation techniques and are designed to implement numerical linear algebra algorithms. These languages include
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
, Analytica,
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since http ...
, and
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
. Other programming languages which are not explicitly designed for numerical linear algebra have libraries that provide numerical linear algebra routines and optimisation; C and Fortran have packages like
Basic Linear Algebra Subprograms Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix ...
and
LAPACK LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
,
python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
has the library NumPy, and
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
has the
Perl Data Language Perl Data Language (abbreviated PDL) is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures built into Perl, to include large multidimensional arrays, and adds functionality to m ...
. Many numerical linear algebra commands in R rely on these more fundamental libraries like
LAPACK LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
. More libraries can be found on the
List of numerical libraries This is a list of numerical libraries, which are libraries used in software development for performing numerical calculations. It is not a complete listing but is instead a list of numerical libraries with articles on Wikipedia, with few exceptio ...
.


References


Further reading

*


External links


Freely available software for numerical algebra on the web
composed by Jack Dongarra and Hatem Ltaief, University of Tennessee

* (Research group in the United Kingdom) * (Activity group about numerical linear algebra in the
Society for Industrial and Applied Mathematics Society for Industrial and Applied Mathematics (SIAM) is a professional society dedicated to applied mathematics, computational science, and data science through research, publications, and community. SIAM is the world's largest scientific socie ...
)
The GAMM Activity Group on Applied and Numerical Linear Algebra
{{Industrial and applied mathematics Computational fields of study