18namespace persistence_matrix {
99 template <
class Container =
typename Master_matrix::Boundary>
119 template <
class Container =
typename Master_matrix::Boundary,
class Row_container>
121 const Container& nonZeroRowIndices,
137 template <
class Container =
typename Master_matrix::Boundary>
159 template <
class Container =
typename Master_matrix::Boundary,
class Row_container>
161 const Container& nonZeroChainRowIndices,
192 template <
class Row_container>
216 std::vector<Field_element>
get_content(
int columnLength = -1)
const;
256 template <
class Row_index_map>
257 void reorder(
const Row_index_map& valueMap, [[maybe_unused]]
Index columnIndex = Matrix::get_null_value<Index>());
385 template <class Entry_range>
414 template <class Entry_range>
428 template <class Entry_range>
Class managing the pivot and partitioning of columns in Chain_matrix.
Definition: chain_column_extra_properties.h:57
Concept of the column classes used by the Matrix class. The classes the columns inherit from are eith...
Definition: PersistenceMatrixColumn.h:61
unspecified const_reverse_iterator
Definition: PersistenceMatrixColumn.h:74
void push_back(const Entry &entry)
Adds a copy of the given entry at the end of the column. It is therefore assumed that the row index o...
ID_index get_pivot()
Returns the row index of the pivot. If the column does not have a pivot, returns null index.
std::size_t size() const
Returns the size of the underlying container.
unspecified Entry
Definition: PersistenceMatrixColumn.h:68
unspecified Index
Definition: PersistenceMatrixColumn.h:64
void clear(ID_index rowIndex)
Zeros the entry at given row index.
unspecified const_iterator
Definition: PersistenceMatrixColumn.h:72
void clear()
Zeros/empties the column.
~PersistenceMatrixColumn()
Destructor.
Field_element get_pivot_value()
Returns the value of the pivot. If the column does not have a pivot, returns 0.
reverse_iterator rend() noexcept
Returns an end Entry reverse iterator, iterating over all entries contained in the underlying contain...
PersistenceMatrixColumn(const Container &nonZeroChainRowIndices, Dimension dimension, Column_settings *colSettings)
Constructs a column from the given range of Matrix::Entry_representative and stores the given dimensi...
bool is_non_zero(ID_index rowIndex) const
Indicates if the entry at given row index has value zero.
unspecified reverse_iterator
Definition: PersistenceMatrixColumn.h:73
PersistenceMatrixColumn & multiply_source_and_add(const Entry_range &column, const Field_element &val)
this = this + column * val
unspecified ID_index
Definition: PersistenceMatrixColumn.h:65
PersistenceMatrixColumn(Index columnIndex, const Container &nonZeroRowIndices, Row_container *rowContainer, Column_settings *colSettings)
Constructs a column from the given range of Matrix::Entry_representative such that the rows can be ac...
PersistenceMatrixColumn & multiply_target_and_add(const Field_element &val, const Entry_range &column)
this = val * this + column
PersistenceMatrixColumn(const PersistenceMatrixColumn &column, Column_settings *colSettings=nullptr)
Copy constructor. If operators or entryConstructor is not a null pointer, its value is kept instead o...
PersistenceMatrixColumn(const PersistenceMatrixColumn &column, Index columnIndex, Row_container *rowContainer, Column_settings *colSettings=nullptr)
Copy constructor with row access. If operators or entryConstructor stored in colSettings is not a nul...
PersistenceMatrixColumn(Column_settings *colSettings=nullptr)
Constructs an empty column. If entryConstructor is not specified or is set to nullptr,...
unspecified Column_settings
Definition: PersistenceMatrixColumn.h:70
bool is_empty()
Indicates if the column is empty or has only zero values.
unspecified iterator
Definition: PersistenceMatrixColumn.h:71
unspecified Field_element
Definition: PersistenceMatrixColumn.h:67
std::vector< Field_element > get_content(int columnLength=-1) const
Returns the values of the column, zero values included.
reverse_iterator rbegin() noexcept
Returns a begin Entry reverse iterator to iterate over all entries contained in the underlying contai...
unspecified Master
Definition: PersistenceMatrixColumn.h:63
void reorder(const Row_index_map &valueMap, Index columnIndex=Matrix::get_null_value< Index >())
Reorders the column with the given map of row indices. Also changes the column index stored in the en...
PersistenceMatrixColumn(PersistenceMatrixColumn &&column) noexcept
Move constructor.
iterator end() noexcept
Returns an end Entry iterator, iterating over all entries contained in the underlying container.
unspecified Dimension
Definition: PersistenceMatrixColumn.h:66
PersistenceMatrixColumn(const Container &nonZeroRowIndices, Column_settings *colSettings)
Constructs a column from the given range of Matrix::Entry_representative. If the dimension is stored,...
PersistenceMatrixColumn(Index columnIndex, const Container &nonZeroChainRowIndices, Dimension dimension, Row_container *rowContainer, Column_settings *colSettings)
Constructs a column from the given range of Matrix::Entry_representative such that the rows can be ac...
iterator begin() noexcept
Returns a begin Entry iterator to iterate over all entries contained in the underlying container.
friend void swap(PersistenceMatrixColumn &col1, PersistenceMatrixColumn &col2)
Swap operator.
Class managing the row access for the columns.
Definition: row_access.h:51
typename Master_matrix::Row_container Row_container
Definition: row_access.h:56
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
Class managing the dimension access of a column.
Definition: column_dimension_holder.h:51