Currently, numerical linear algebra support in commons-math is limited to basic operations on real matrices and solving linear systems.
The RealMatrix interface represents a matrix with real numbers as entries. The following basic matrix operations are supported:
Example:
The solve()
methods of the RealMatrix
interface
support solving linear systems of equations. In each case, the
RealMatrix
represents the coefficient matrix of the system.
For example, to solve the linear system
2x + 3y - 2z = 1 -x + 7y + 6x = -2 4x - 3y - 5z = 1Start by creating a RealMatrix to store the coefficients Next create a
double[]
array to represent the constant
vector and use solve(double[])
to solve the system
The solution
array will contain values for x
(solution[0]
), y (solution[1]
),
and z (solution[2]
) that solve the system.
If the coefficient matrix is not square or singular, an InvalidMatrixException is thrown.
It is possible to solve multiple systems with the same coefficient matrix
in one method call. To do this, create a matrix whose column vectors correspond
to the constant vectors for the systems to be solved and use
solve(RealMatrix),
which returns a matrix with column
vectors representing the solutions.