18 namespace persistence_matrix {
98 template <
class Container_type =
typename Master_matrix::boundary_type>
117 template <
class Container_type =
typename Master_matrix::boundary_type,
class Row_container_type>
119 const Container_type& nonZeroRowIndices,
133 template <
class Container_type =
typename Master_matrix::boundary_type>
153 template <
class Container_type =
typename Master_matrix::boundary_type,
class Row_container_type>
155 const Container_type& nonZeroChainRowIndices,
186 template <
class Row_container_type>
210 std::vector<Field_element_type>
get_content(
int columnLength = -1)
const;
249 template <
class Map_type>
250 void reorder(
const Map_type& valueMap, [[maybe_unused]]
index columnIndex = -1);
375 template <class Cell_range>
404 template <class Cell_range>
418 template <class Cell_range>
Class managing the pivot and partitioning of columns in Chain_matrix.
Definition: chain_column_extra_properties.h:56
Concept of the column classes used by the Matrix class. The classes the columns inheritates from are ...
Definition: PersistenceMatrixColumn.h:61
unspecified const_reverse_iterator
Definition: PersistenceMatrixColumn.h:74
unspecified Cell
Definition: PersistenceMatrixColumn.h:68
std::size_t size() const
Returns the size of the underlying container.
bool is_non_zero(id_index rowIndex) const
Indicates if the cell at given row index has value zero.
PersistenceMatrixColumn(const Container_type &nonZeroChainRowIndices, dimension_type dimension, Column_settings *colSettings)
Constructs a column from the given range of Matrix::cell_rep_type and stores the given dimension if C...
Field_element_type get_pivot_value()
Returns the value of the pivot. If the column does not have a pivot, returns 0.
unspecified id_index
Definition: PersistenceMatrixColumn.h:65
unspecified const_iterator
Definition: PersistenceMatrixColumn.h:72
void clear()
Zeros/empties the column.
~PersistenceMatrixColumn()
Destructor.
reverse_iterator rend() noexcept
Returns a end Cell reverse iterator, iterating over all cells contained in the underlying container.
unspecified reverse_iterator
Definition: PersistenceMatrixColumn.h:73
unspecified Field_element_type
Definition: PersistenceMatrixColumn.h:67
PersistenceMatrixColumn(const PersistenceMatrixColumn &column, Column_settings *colSettings=nullptr)
Copy constructor. If operators or cellConstructor is not a null pointer, its value is kept instead of...
PersistenceMatrixColumn(const Container_type &nonZeroRowIndices, Column_settings *colSettings)
Constructs a column from the given range of Matrix::cell_rep_type. If the dimension is stored,...
PersistenceMatrixColumn(Column_settings *colSettings=nullptr)
Constructs an empty column. If cellConstructor is not specified or is set to nullptr,...
void reorder(const Map_type &valueMap, [[maybe_unused]] index columnIndex=-1)
Reorders the column with the given map of row indices. Also changes the column index stored in the ce...
unspecified Column_settings
Definition: PersistenceMatrixColumn.h:70
bool is_empty()
Indicates if the column is empty or has only zero values.
unspecified index
Definition: PersistenceMatrixColumn.h:64
void clear(id_index rowIndex)
Zeros the cell at given row index.
PersistenceMatrixColumn(index columnIndex, const Container_type &nonZeroRowIndices, Row_container_type *rowContainer, Column_settings *colSettings)
Constructs a column from the given range of Matrix::cell_rep_type such that the rows can be accessed....
unspecified iterator
Definition: PersistenceMatrixColumn.h:71
PersistenceMatrixColumn & multiply_source_and_add(const Cell_range &column, const Field_element_type &val)
this = this + column * val
unspecified dimension_type
Definition: PersistenceMatrixColumn.h:66
reverse_iterator rbegin() noexcept
Returns a begin Cell reverse iterator to iterate over all cells contained in the underlying container...
unspecified Master
Definition: PersistenceMatrixColumn.h:63
PersistenceMatrixColumn(PersistenceMatrixColumn &&column) noexcept
Move constructor.
PersistenceMatrixColumn(index columnIndex, const Container_type &nonZeroChainRowIndices, dimension_type dimension, Row_container_type *rowContainer, Column_settings *colSettings)
Constructs a column from the given range of Matrix::cell_rep_type such that the rows can be accessed....
iterator end() noexcept
Returns a end Cell iterator, iterating over all cells contained in the underlying container.
std::vector< Field_element_type > get_content(int columnLength=-1) const
Returns the values of the column, zero values included.
PersistenceMatrixColumn & multiply_target_and_add(const Field_element_type &val, const Cell_range &column)
this = val * this + column
iterator begin() noexcept
Returns a begin Cell iterator to iterate over all cells contained in the underlying container.
id_index get_pivot()
Returns the row index of the pivot. If the column does not have a pivot, returns -1.
PersistenceMatrixColumn(const PersistenceMatrixColumn &column, index columnIndex, Row_container_type *rowContainer, Column_settings *colSettings=nullptr)
Copy constructor with row access. If operators or cellConstructor is not a null pointer,...
friend void swap(PersistenceMatrixColumn &col1, PersistenceMatrixColumn &col2)
Swap operator.
Class managing the row access for the columns.
Definition: row_access.h:50
typename Master_matrix::row_container_type Row_container_type
Definition: row_access.h:55
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
Class managing the dimension access of a column.
Definition: column_dimension_holder.h:50