CGAL 6.1 - CGAL and Solvers
Loading...
Searching...
No Matches
SparseLinearAlgebraTraits_d::Matrix Class Reference

#include <Concepts/SparseLinearAlgebraTraits_d.h>

Definition

SparseLinearAlgebraTraits_d::Matrix is a concept of a sparse matrix class.

Refines
Assignable
DefaultConstructible
Has models
CGAL::Eigen_sparse_matrix<T>
CGAL::Eigen_sparse_symmetric_matrix<T>
See also
SparseLinearAlgebraTraits_d
SparseLinearAlgebraTraits_d::Vector

Types

typedef unspecified_type Index
 Index type.
 
typedef unspecified_type NT
 

Creation

 Matrix (Index dimension)
 Create a square matrix initialized with zeros.
 
 Matrix (Index rows, Index columns)
 Create a rectangular matrix initialized with zeros.
 

Operations

Index row_dimension () const
 Return the matrix number of rows.
 
Index column_dimension () const
 Return the matrix number of columns.
 
NT get_coef (Index row, Index column) const
 Read access to a matrix coefficient.
 
void add_coef (Index row, Index column, NT value)
 Write access to a matrix coefficient: a_ij = a_ij + val.
 
void set_coef (Index row, Index column, NT value, bool new_coef=false)
 Write access to a matrix coefficient: a_ij = val.
 
void swap (Matrix &m)
 Swaps the content of *this and m.
 
Matrix operator* (const NT &c, const Matrix &M)
 Multiplication with a scalar.
 
Matrix operator+ (const Matrix &M0, const Matrix &M1)
 Sum of two matrices.
 

Member Typedef Documentation

◆ Index

typedef unspecified_type SparseLinearAlgebraTraits_d::Matrix::Index

Index type.

◆ NT

typedef unspecified_type SparseLinearAlgebraTraits_d::Matrix::NT

Constructor & Destructor Documentation

◆ Matrix() [1/2]

SparseLinearAlgebraTraits_d::Matrix::Matrix ( Index  dimension)

Create a square matrix initialized with zeros.

◆ Matrix() [2/2]

SparseLinearAlgebraTraits_d::Matrix::Matrix ( Index  rows,
Index  columns 
)

Create a rectangular matrix initialized with zeros.

Member Function Documentation

◆ add_coef()

void SparseLinearAlgebraTraits_d::Matrix::add_coef ( Index  row,
Index  column,
NT  value 
)

Write access to a matrix coefficient: a_ij = a_ij + val.

Precondition
0 <= row < row_dimension()
0 <= column < column_dimension()

◆ column_dimension()

Index SparseLinearAlgebraTraits_d::Matrix::column_dimension ( ) const

Return the matrix number of columns.

◆ get_coef()

NT SparseLinearAlgebraTraits_d::Matrix::get_coef ( Index  row,
Index  column 
) const

Read access to a matrix coefficient.

Precondition
0 <= row < row_dimension()
0 <= column < column_dimension()

◆ row_dimension()

Index SparseLinearAlgebraTraits_d::Matrix::row_dimension ( ) const

Return the matrix number of rows.

◆ set_coef()

void SparseLinearAlgebraTraits_d::Matrix::set_coef ( Index  row,
Index  column,
NT  value,
bool  new_coef = false 
)

Write access to a matrix coefficient: a_ij = val.

Optimization: Users can indicate that the coefficient does not already exist in the matrix by setting new_coef to true.

Precondition
0 <= i < row_dimension()
0 <= j < column_dimension()

◆ swap()

void SparseLinearAlgebraTraits_d::Matrix::swap ( Matrix m)

Swaps the content of *this and m.

Friends And Related Symbol Documentation

◆ operator*

Matrix operator* ( const NT c,
const Matrix M 
)
friend

Multiplication with a scalar.

◆ operator+

Matrix operator+ ( const Matrix M0,
const Matrix M1 
)
friend

Sum of two matrices.