The data type LinearAlgebraTraits_d encapsulates two classes Matrix, Vector and many functions of basic linear algebra. An instance of data type Matrix is a matrix of variables of type NT. Accordingly, Vector implements vectors of variables of type NT. Most functions of linear algebra are checkable, i.e., the programs can be asked for a proof that their output is correct. For example, if the linear system solver declares a linear system unsolvable it also returns a vector such that and .
| |
the number type of the components.
| |
| |
the vector type.
| |
| |
the matrix type.
|
|
| |||
returns (a M.column_dimension() M.column_dimension() - matrix). | ||||
|
| |||
determines whether M has an inverse. It also
computes either the inverse as or when no
inverse exists, a vector such that . Precondition: is square. | ||||
|
| |||
returns the
inverse matrix of M. More precisely, times the matrix
returned is the inverse of M. Precondition: determinant(M) != 0. Precondition: is square. | ||||
|
| |||
returns the determinant of
M and sufficient information to verify that the value of the
determinant is correct. If the determinant is zero then is a
vector such that . If the determinant is non-zero
then and are lower and upper diagonal matrices respectively
and encodes a permutation matrix with iff such that , , for all , , and where is the determinant of . Precondition: M is square. | ||||
|
| |||
verifies the conditions stated above. | ||||
|
| |||
returns the
determinant of M. Precondition: M is square. | ||||
|
| |||
returns
the sign of the determinant of M. Precondition: M is square. | ||||
|
| |||
determines the complete solution space of the linear system . If the system is unsolvable then and (1/D) x | ||||
|
| |||
determines whether the linear
system M · x = b(1/D) xcT · M = 0cT · b 0. Precondition: M.row_dimension() = b.dimension(). | ||||
|
| |||
as above, but without the witness Precondition: M.row_dimension() = b.dimension(). | ||||
|
| |||
determines whether the system is solvable Precondition: M.row_dimension() = b.dimension(). | ||||
|
| |||
determines whether the homogeneous linear system has a non - trivial solution. If yes, then is such a solution. | ||||
|
| |||
determines the solution space of the homogeneous linear system . It returns the dimension of the solution space. Moreover the columns of spanning_vecs span the solution space. | ||||
|
| |||
returns the indices of a maximal subset of independent columns of M. | ||||
|
| |||
returns the rank of matrix M |
CGAL::Linear_algebraHd<RT>
CGAL::Linear_algebraCd<FT>