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 
18 namespace Gudhi {
20 namespace persistence_matrix {
21 
32 {
37  using Field_coeff_operators = unspecified;
42  using dimension_type = unspecified;
48  using index_type = unspecified;
49 
56  static const bool is_z2;
60  static const Column_types column_type;
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 submatrices 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:49
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
unspecified dimension_type
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 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
unspecified index_type
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_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
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
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_face 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