PersistenceMatrixOptions.h
Go to the documentation of this file.
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): Hannah Schreiber
4 *
5 * Copyright (C) 2024 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
18namespace Gudhi {
20namespace persistence_matrix {
21
32{
37 using Field_coeff_operators = unspecified;
42 using Dimension = unspecified;
48 using Index = unspecified;
49
56 static const bool is_z2;
67
83 static const bool has_column_compression;
89 static const bool has_column_and_row_swaps;
90
101 static const bool has_map_column_container;
106 static const bool has_removable_columns;
107
111 static const bool has_row_access;
117 static const bool has_intrusive_rows;
124 static const bool has_removable_rows;
125
132 static const bool is_of_boundary_type;
133
148 static const bool has_column_pairings;
154 static const bool has_vine_update;
162
163 // not implemented yet
164 // /**
165 // * @brief Only enabled for boundary and @ref chainmatrix "chain matrices", i.e., when at least one of
166 // * the following is true: @ref has_column_pairings, @ref has_vine_update or
167 // * @ref can_retrieve_representative_cycles.
168 // * Is ignored otherwise
169 // * If set to true, the matrix is decomposed in several sub-matrices containing each all the
170 // * columns of same dimension.
171 // */
172 // static const bool is_separated_by_dimension;
173 // /**
174 // * @brief If set to true, some methods will use parallel computing.
175 // */
176 // static const bool is_parallelizable;
177};
178
179} // namespace persistence_matrix
180} // namespace Gudhi
181
Column_indexation_types
List if indexation schemes. See description of indexation schemes for more details about the meaning ...
Definition: persistence_matrix_options.h:51
Column_types
List of column types.
Definition: persistence_matrix_options.h:30
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
Concept of the template parameter for the class Matrix.
Definition: PersistenceMatrixOptions.h:32
static const Column_indexation_types column_indexation_type
Specifies the desired indexation scheme to access the methods of the matrix. See matrix description a...
Definition: PersistenceMatrixOptions.h:66
static const Column_types column_type
Specifies the desired column type. All possible column types are described in Column_types.
Definition: PersistenceMatrixOptions.h:60
static const bool has_matrix_maximal_dimension_access
Only enabled for boundary and chain matrices, i.e., when at least one of the following is true: has_c...
Definition: PersistenceMatrixOptions.h:142
unspecified Dimension
Type for the dimension. Has to be an integer type. If unsigned, the maximal value of the type should ...
Definition: PersistenceMatrixOptions.h:42
static const bool has_map_column_container
If set to true, the underlying container containing the matrix columns is an std::unordered_map....
Definition: PersistenceMatrixOptions.h:101
static const bool has_column_compression
Only enabled for base matrices (i.e., none of the following is true: has_column_pairings,...
Definition: PersistenceMatrixOptions.h:83
static const bool has_row_access
If set to true, enables the method Matrix::get_row.
Definition: PersistenceMatrixOptions.h:111
static const bool can_retrieve_representative_cycles
If set to true, enables the methods Matrix::update_representative_cycles and Matrix::get_representati...
Definition: PersistenceMatrixOptions.h:161
static const bool has_removable_rows
Only enabled if has_row_access is true, ignored otherwise. If set to true, the underlying container c...
Definition: PersistenceMatrixOptions.h:124
static const bool has_column_and_row_swaps
Only enabled for base matrices or simple boundary matrices, i.e., when both has_vine_update and can_r...
Definition: PersistenceMatrixOptions.h:89
static const bool is_z2
If true, indicates that the values contained in the matrix are in and can therefore be treated like ...
Definition: PersistenceMatrixOptions.h:56
unspecified Index
Type for the different indexation types and should be able to contain the maximal number of columns o...
Definition: PersistenceMatrixOptions.h:48
static const bool has_column_pairings
If set to true, enables the method Matrix::get_current_barcode. The matrix will then either be a boun...
Definition: PersistenceMatrixOptions.h:148
unspecified Field_coeff_operators
Field operators. Has to follow the FieldOperators concept. The type will not be used if is_z2 is set ...
Definition: PersistenceMatrixOptions.h:37
static const bool has_vine_update
If set to true, enables the methods Matrix::vine_swap and Matrix::vine_swap_with_z_eq_1_case....
Definition: PersistenceMatrixOptions.h:154
static const bool is_of_boundary_type
Only used, when at least one of the following is true: has_column_pairings, has_vine_update or can_re...
Definition: PersistenceMatrixOptions.h:132
static const bool has_removable_columns
If set to true, enables the methods Matrix::remove_maximal_cell and Matrix::remove_last,...
Definition: PersistenceMatrixOptions.h:106
static const bool has_intrusive_rows
Only enabled if has_row_access is true, ignored otherwise. If set to true, the underlying container r...
Definition: PersistenceMatrixOptions.h:117