#include <CGAL/Eigen_sparse_matrix.h>
Inherited by CGAL::Eigen_sparse_symmetric_matrix< T >.
template<class T>
struct CGAL::Eigen_sparse_matrix< T >
The class Eigen_sparse_matrix is a wrapper around Eigen matrix type Eigen::SparseMatrix that represents general matrices, be they symmetric or not.
- Is Model Of:
SparseLinearAlgebraTraits_d::Matrix
- Template Parameters
-
- See also
CGAL::Eigen_vector<T>
-
CGAL::Eigen_matrix<T>
-
CGAL::Eigen_sparse_symmetric_matrix<T>
|
| | Eigen_sparse_matrix (const EigenType &et) |
| |
| | Eigen_sparse_matrix () |
| |
| | Eigen_sparse_matrix (std::size_t dim, bool is_symmetric=false) |
| | Create a square matrix initialized with zeros. More...
|
| |
| | Eigen_sparse_matrix (int dim, bool is_symmetric=false) |
| | Create a square matrix initialized with zeros. More...
|
| |
| | Eigen_sparse_matrix (std::size_t rows, std::size_t columns, bool is_symmetric=false) |
| | Create a rectangular matrix initialized with zeros. More...
|
| |
| void | swap (Eigen_sparse_matrix &other) |
| |
| | ~Eigen_sparse_matrix () |
| | Delete this object and the wrapped matrix. More...
|
| |
| | Eigen_sparse_matrix (int rows, int columns, bool is_symmetric=false) |
| | Create a rectangular matrix initialized with zeros. More...
|
| |
| int | row_dimension () const |
| | Return the matrix number of rows. More...
|
| |
| int | column_dimension () const |
| | Return the matrix number of columns. More...
|
| |
| void | set_coef (std::size_t i_, std::size_t j_, T val, bool new_coef=false) |
| | Write access to a matrix coefficient: a_ij <- val. More...
|
| |
| void | add_coef (std::size_t i_, std::size_t j_, T val) |
| | Write access to a matrix coefficient: a_ij <- a_ij + val. More...
|
| |
| NT | get_coef (std::size_t i_, std::size_t j_) const |
| | Read access to a matrix coefficient. More...
|
| |
| const EigenType & | eigen_object () const |
| | Return the internal matrix, with type EigenType. More...
|
| |
| EigenType & | eigen_object () |
| | Return the internal matrix, with type EigenType. More...
|
| |
|
| typedef Eigen::SparseMatrix< T > | EigenType |
| | The internal matrix type from Eigen. More...
|
| |
| typedef T | NT |
| |
◆ EigenType
The internal matrix type from Eigen.
◆ NT
◆ Eigen_sparse_matrix() [1/6]
◆ Eigen_sparse_matrix() [2/6]
◆ Eigen_sparse_matrix() [3/6]
Create a square matrix initialized with zeros.
- Parameters
-
| dim | Matrix dimension. |
| is_symmetric | Symmetric/hermitian? |
◆ Eigen_sparse_matrix() [4/6]
Create a square matrix initialized with zeros.
- Parameters
-
| dim | Matrix dimension. |
| is_symmetric | Symmetric/hermitian? |
◆ Eigen_sparse_matrix() [5/6]
Create a rectangular matrix initialized with zeros.
- Precondition
- rows == columns if
is_symmetric is true.
- Parameters
-
| rows | Number of rows. |
| columns | Number of columns. |
| is_symmetric | Symmetric/hermitian? |
◆ ~Eigen_sparse_matrix()
Delete this object and the wrapped matrix.
◆ Eigen_sparse_matrix() [6/6]
Create a rectangular matrix initialized with zeros.
- Precondition
- rows == columns if
is_symmetric is true.
- Parameters
-
| rows | Number of rows. |
| columns | Number of columns. |
| is_symmetric | Symmetric/hermitian? |
◆ add_coef()
◆ column_dimension()
Return the matrix number of columns.
◆ eigen_object() [1/2]
Return the internal matrix, with type EigenType.
◆ eigen_object() [2/2]
Return the internal matrix, with type EigenType.
◆ get_coef()
Read access to a matrix coefficient.
- Warning
- Complexity:
- O(log(n)) if the matrix is already built.
- O(n) if the matrix is not built.
n being the number of entries in the matrix.
- Precondition
- 0 <= i < row_dimension().
-
0 <= j < column_dimension().
◆ row_dimension()
Return the matrix number of rows.
◆ set_coef()
Write access to a matrix coefficient: a_ij <- val.
Users can optimize calls to this function by setting 'new_coef' to true if the coefficient does not already exist in the matrix.
- Warning
- For symmetric matrices,
Eigen_sparse_matrix only stores the lower triangle and set_coef() does nothing if (i, j) belongs to the upper triangle.
- Precondition
- 0 <= i < row_dimension().
-
0 <= j < column_dimension().
◆ swap()