CGAL 6.1 - Homological Discrete Vector Fields
Loading...
Searching...
No Matches
HDVF/example_matrix_chain.cpp
#include <iostream>
#include <fstream>
#include <CGAL/OSM/OSM.h>
int main ()
{
// Create a column-major sparse matrix
CMatrix M(5,4) ;
// Fill coefficients
CGAL::OSM::set_coef(M, 0, 1, 1) ;
CGAL::OSM::set_coef(M, 0, 2, -1) ;
CGAL::OSM::set_coef(M, 2, 1, 2) ;
// Iterate over non empty columns
for(CGAL::OSM::Bitboard::iterator it_col = M.begin(); it_col != M.end(); ++it_col)
{
std::cout << "col: " << *it_col << std::endl ;
// Get a constant reference over the column (complexity O(1))
const CChain& col(CGAL::OSM::cget_column(M, *it_col));
// Iterate over the column
for (CChain::const_iterator it = col.begin(); it != col.end(); ++it)
{
std::cout << "row: " << it->first << " - coef: " << it->second << std::endl ;
}
}
// Direct output of the matrix with << operator
std::cout << "M: " << M << std::endl;
return 0 ;
}
The class Sparse_chain implements the concept SparseChain, that is, sparse vectors (encoding homologi...
Definition: Sparse_chain.h:52
The class Sparse_matrix implements the concept SparseMatrix, that is, sparse matrices optimized for t...
Definition: Sparse_matrix.h:62
void set_coef(Sparse_matrix< _CT, _CTF > &matrix, size_t i, size_t j, const _CT d)
Definition: Sparse_matrix.h:1640
const Sparse_chain< _CT, COLUMN > & cget_column(const Sparse_matrix< _CT, COLUMN > &matrix, size_t index)
Definition: Sparse_matrix.h:1559
Definition: Bitboard.h:97