|
CGAL 6.0 - dD Geometry Kernel
|
An instance of data type Matrix is a matrix of variables of number type NT. The types Matrix and Vector together realize many functions of basic linear algebra.
Types | |
| typedef unspecified_type | NT |
| the ring type of the components. | |
| typedef unspecified_type | iterator |
| bidirectional iterator for accessing all components row-wise. | |
| typedef unspecified_type | const_iterator |
| bidirectional iterator for accessing all components row-wise. | |
| typedef unspecified_type | row_iterator |
| random access iterator for accessing row entries. | |
| typedef unspecified_type | const_row_iterator |
| random access iterator for accessing row entries. | |
| typedef unspecified_type | column_iterator |
| random access iterator for accessing column entries. | |
| typedef unspecified_type | const_column_iterator |
| random access iterator for accessing column entries. | |
| typedef unspecified_type | Identity |
| a tag class for identity initialization | |
| typedef unspecified_type | Vector |
| the vector type used. | |
Creation | |
| Matrix () | |
creates an instance M of type Matrix. | |
| Matrix (int n) | |
creates an instance M of type Matrix of dimension \( n \times n\) initialized to the zero matrix. | |
| Matrix (int m, int n) | |
creates an instance M of type Matrix of dimension \( m \times n\) initialized to the zero matrix. | |
| Matrix (std::pair< int, int > p) | |
creates an instance M of type Matrix of dimension p.first \( \times\)p.second initialized to the zero matrix. | |
| Matrix (int n, Identity, NT x=NT(1)) | |
creates an instance M of type Matrix of dimension \( n \times n\) initialized to the identity matrix (times x). | |
| Matrix (int m, int n, NT x) | |
creates an instance M of type Matrix of dimension \( m \times n\) initialized to the matrix with x entries. | |
| template<class Forward_iterator > | |
| Matrix (Forward_iterator first, Forward_iterator last) | |
creates an instance M of type Matrix. | |
| Matrix (std::vector< Vector > A) | |
creates an instance M of type Matrix. | |
Operations | |
| int | row_dimension () |
returns \( n\), the number of rows of M. | |
| int | column_dimension () |
returns \( m\), the number of columns of M. | |
| std::pair< int, int > | dimension () |
returns \( (m,n)\), the dimension pair of M. | |
| Vector | row (int i) |
returns the \( i\)-th row of M (an \( m\) - vector). | |
| Vector | column (int i) |
returns the \( i\)-th column of M (an \( n\) - vector). | |
| NT & | operator() (int i, int j) |
| returns \( M_{i,j}\). | |
| void | swap_rows (int i, int j) |
| swaps rows \( i\) and \( j\). | |
| void | swap_columns (int i, int j) |
| swaps columns \( i\) and \( j\). | |
| row_iterator | row_begin (int i) |
| an iterator pointing to the first entry of the \( i\)th row. | |
| row_iterator | row_end (int i) |
| an iterator pointing beyond the last entry of the \( i\)th row. | |
| const_row_iterator | row_begin (int i) const |
| an iterator pointing to the first entry of the \( i\)th row. | |
| const_row_iterator | row_end (int i) const |
| an iterator pointing beyond the last entry of the \( i\)th row. | |
| column_iterator | column_begin (int i) |
| an iterator pointing to the first entry of the \( i\)th column. | |
| column_iterator | column_end (int i) |
| an iterator pointing beyond the last entry of the \( i\)th column. | |
| const_column_iterator | column_begin (int i) const |
| an iterator pointing to the first entry of the \( i\)th column. | |
| const_column_iterator | column_end (int i) const |
| an iterator pointing beyond the last entry of the \( i\)th column. | |
| iterator | begin () |
| an iterator pointing to the first entry of \( M\). | |
| terator | end () |
| an iterator pointing beyond the last entry of \( M\). | |
| const_iterator | begin () const |
| an iterator pointing to the first entry of \( M\). | |
| const_terator | end () const |
| an iterator pointing beyond the last entry of \( M\). | |
| bool | operator== (const Matrix &M1) |
| Test for equality. | |
| bool | operator!= (const Matrix &M1) |
| Test for inequality. | |
Arithmetic Operators | |
| Matrix | operator+ (const Matrix &M1) |
| Addition. | |
| Matrix | operator- (const Matrix &M1) |
| Subtraction. | |
| Matrix | operator- () |
| Negation. | |
| Matrix | operator* (const Matrix &M1) |
| Multiplication. | |
| Vector | operator* (const Vector &vec) |
| Multiplication with vector. | |
| Matrix | operator* (const NT &x, const Matrix &M) |
Multiplication of every entry with x. | |
| Matrix | operator* (const Matrix &M, const NT &x) |
Multiplication of every entry with x. | |
| Matrix::Matrix | ( | Forward_iterator | first, |
| Forward_iterator | last | ||
| ) |
creates an instance M of type Matrix.
Let \( S\) be the ordered set of \( n\) column-vectors of common dimension \( m\) as given by the iterator range [first,last). M is initialized to an \( m \times n\) matrix with the columns as specified by \( S\).
Forward_iterator has a value type V from which we require to provide a iterator type V::const_iterator, to have V::value_type == NT.Note that Vector or std::vector<NT> fulfill these requirements.
| Matrix::Matrix | ( | std::vector< Vector > | A | ) |
creates an instance M of type Matrix.
Let \( A\) be an array of \( n\) column-vectors of common dimension \( m\). M is initialized to an \( m \times n\) matrix with the columns as specified by \( A\).
| Vector Matrix::column | ( | int | i | ) |
returns the \( i\)-th column of M (an \( n\) - vector).
| column_iterator Matrix::column_begin | ( | int | i | ) |
an iterator pointing to the first entry of the \( i\)th column.
| const_column_iterator Matrix::column_begin | ( | int | i | ) | const |
an iterator pointing to the first entry of the \( i\)th column.
| column_iterator Matrix::column_end | ( | int | i | ) |
an iterator pointing beyond the last entry of the \( i\)th column.
| const_column_iterator Matrix::column_end | ( | int | i | ) | const |
an iterator pointing beyond the last entry of the \( i\)th column.
| NT & Matrix::operator() | ( | int | i, |
| int | j | ||
| ) |
returns \( M_{i,j}\).
Multiplication.
M.column_dimension() == M1.row_dimension() Multiplication with vector.
M.column_dimension() == vec.dimension() Addition.
M.row_dimension() == M1.row_dimension() M.column_dimension() == M1.column_dimension() Subtraction.
M.row_dimension() == M1.row_dimension() M.column_dimension() == M1.column_dimension() | Vector Matrix::row | ( | int | i | ) |
returns the \( i\)-th row of M (an \( m\) - vector).
| row_iterator Matrix::row_begin | ( | int | i | ) |
an iterator pointing to the first entry of the \( i\)th row.
| const_row_iterator Matrix::row_begin | ( | int | i | ) | const |
an iterator pointing to the first entry of the \( i\)th row.
| row_iterator Matrix::row_end | ( | int | i | ) |
an iterator pointing beyond the last entry of the \( i\)th row.
| const_row_iterator Matrix::row_end | ( | int | i | ) | const |
an iterator pointing beyond the last entry of the \( i\)th row.
| void Matrix::swap_columns | ( | int | i, |
| int | j | ||
| ) |
swaps columns \( i\) and \( j\).
| void Matrix::swap_rows | ( | int | i, |
| int | j | ||
| ) |
swaps rows \( i\) and \( j\).