From cf413444342ba963f394ca7def635ccabd8683f8 Mon Sep 17 00:00:00 2001 From: hschreiber Date: Wed, 10 Apr 2024 20:11:55 +0200 Subject: [PATCH] doc --- .../concept/FieldOperators.h | 24 ++-- .../concept/PersistenceMatrixColumn.h | 116 ++++++++++-------- .../concept/PersistenceMatrixOptions.h | 67 +++++----- .../columns/cell_constructors.h | 3 +- 4 files changed, 114 insertions(+), 96 deletions(-) diff --git a/src/Persistence_matrix/concept/FieldOperators.h b/src/Persistence_matrix/concept/FieldOperators.h index 86ea036349..2d03e6b161 100644 --- a/src/Persistence_matrix/concept/FieldOperators.h +++ b/src/Persistence_matrix/concept/FieldOperators.h @@ -22,8 +22,10 @@ namespace persistence_matrix { * * @brief Concept of the field operator classes needed for the class @ref Matrix. * - * Implementations of this concept are @ref Gudhi::persistence_fields::Zp_field_operators, @ref Gudhi::persistence_fields::Z2_field_operators, - * @ref Gudhi::persistence_fields::Multi_field_operators and @ref Gudhi::persistence_fields::Multi_field_operators_with_small_characteristics. + * Implementations of this concept are @ref Gudhi::persistence_fields::Zp_field_operators, + * @ref Gudhi::persistence_fields::Z2_field_operators, + * @ref Gudhi::persistence_fields::Multi_field_operators and + * @ref Gudhi::persistence_fields::Multi_field_operators_with_small_characteristics. */ class FieldOperators { @@ -68,7 +70,7 @@ class FieldOperators * * @param e1 First element. * @param e2 Second element. - * @return ( @p e1 + @p e2 ) % characteristic, such that the result is positive. + * @return `(e1 + e2) % characteristic`, such that the result is positive. */ element_type add(element_type e1, element_type e2) const; @@ -77,7 +79,7 @@ class FieldOperators * * @param e1 First element. * @param e2 Second element. - * @return ( @p e1 - @p e2 ) % characteristic, such that the result is positive. + * @return `(e1 - e2) % characteristic`, such that the result is positive. */ element_type substract(element_type e1, element_type e2) const; @@ -86,7 +88,7 @@ class FieldOperators * * @param e1 First element. * @param e2 Second element. - * @return ( @p e1 * @p e2 ) % characteristic, such that the result is positive. + * @return `(e1 * e2) % characteristic`, such that the result is positive. */ element_type multiply(element_type e1, element_type e2) const; @@ -96,7 +98,7 @@ class FieldOperators * @param e First element. * @param m Second element. * @param a Third element. - * @return ( @p e * @p m + @p a ) % characteristic, such that the result is positive. + * @return `(e * m + a) % characteristic`, such that the result is positive. */ element_type multiply_and_add(element_type e, element_type m, element_type a) const; @@ -107,7 +109,7 @@ class FieldOperators * @param e First element. * @param m Second element. * @param a Third element. - * @return ( ( @p e + @p a ) * @p m ) % characteristic, such that the result is positive. + * @return `((e + a) * m) % characteristic`, such that the result is positive. */ element_type add_and_multiply(element_type e, element_type a, element_type m) const; @@ -116,7 +118,7 @@ class FieldOperators * * @param e1 First element to compare. * @param e2 Second element to compare. - * @return true If @p e1 % characteristic == @p e2 % characteristic. + * @return true If `e1 % characteristic == e2 % characteristic`. * @return false Otherwise. */ bool are_equal(element_type e1, element_type e2) const; @@ -125,13 +127,13 @@ class FieldOperators * @brief Returns the inverse of the given element in the field. * * @param e Element to get the inverse from. - * @return Inverse in the current field of @p e % characteristic. + * @return Inverse in the current field of `e % characteristic`. */ element_type get_inverse(element_type e) const; /** * @brief In the case the field is a multi-field, returns the inverse of the given element in the fields * corresponding to the given sub-product of the product of all characteristics in the multi-field. - * See [TODO: cite multi field paper] for more details. + * See @cite boissonnat:hal-00922572 for more details. * If the field is a usual field, simply returns the inverse in the field. * * @param e Element to get the inverse from. @@ -156,7 +158,7 @@ class FieldOperators static constexpr element_type get_multiplicative_identity(); /** * @brief For multi-fields, returns the partial multiplicative identity of the field from the given product. - * See [TODO: cite multi field paper] for more details. + * See @cite boissonnat:hal-00922572 for more details. * Otherwise, simply returns the multiplicative identity of the field. * * @param productOfCharacteristics Product of the different characteristics to take into account in the multi-field. diff --git a/src/Persistence_matrix/concept/PersistenceMatrixColumn.h b/src/Persistence_matrix/concept/PersistenceMatrixColumn.h index 60dd9feb1a..386f8f064c 100644 --- a/src/Persistence_matrix/concept/PersistenceMatrixColumn.h +++ b/src/Persistence_matrix/concept/PersistenceMatrixColumn.h @@ -17,42 +17,50 @@ namespace Gudhi { namespace persistence_matrix { +/** + * @ingroup persistence_matrix + * + * @brief If PersistenceMatrixOptions::has_row_access is true, then @ref Row_access. Otherwise @ref Dummy_row_access. + * Can eventually be removed if the structure of the column does not allow row access (as for @ref Heap_column), but + * then it needs to be notified in the documentation of @ref Column_types and as static_assert in + * @ref Matrix::_assert_options. + */ +using Row_access_option = Row_access; +/** + * @ingroup persistence_matrix + * + * @brief If @ref PersistenceMatrixOptions::has_column_pairings or @ref PersistenceMatrixOptions::has_vine_update or + * @ref PersistenceMatrixOptions::can_retrieve_representative_cycles is true, then @ref Column_dimension_holder. + * Otherwise @ref Dummy_dimension_holder. + */ +using Column_dimension_option = Column_dimension_holder; +/** + * @ingroup persistence_matrix + * + * @brief If @ref PersistenceMatrixOptions::is_of_boundary_type is false, and, + * @ref PersistenceMatrixOptions::has_column_pairings or @ref PersistenceMatrixOptions::has_vine_update or + * @ref PersistenceMatrixOptions::can_retrieve_representative_cycles is true, then @ref Chain_column_extra_properties. + * Otherwise @ref Dummy_chain_properties. + */ +using Chain_column_option = Chain_column_extra_properties; + /** * @ingroup persistence_matrix * - * @brief Concept of the column classes used by the @ref Matrix class. + * @brief Concept of the column classes used by the @ref Matrix class. The classes the columns inheritates from + * are either real or dummy classes, see @ref Row_access_option, @ref Column_dimension_option, @ref Chain_column_option. * * Implementations of this concept are @ref Heap_column, @ref List_column, @ref Vector_column, @ref Naive_vector_column - * @ref Set_column, @ref Unordered_set_column, @ref PersistenceMatrixColumn and @ref Intrusive_set_column. + * @ref Set_column, @ref Unordered_set_column, @ref Intrusive_list_column and @ref Intrusive_set_column. */ class PersistenceMatrixColumn : - /** - * @brief If PersistenceMatrixOptions::has_row_access is true, then @ref Row_access. - * Otherwise @ref Dummy_row_access. Can eventually be removed if the structure of the column does not allow - * row access (as for @ref Heap_column), but then it needs to be notified in the documentation of @ref Column_types - * and as static_assert in @ref Matrix::_assert_options. - */ public Row_access_option, - /** - * @brief If PersistenceMatrixOptions::has_column_pairings || - PersistenceMatrixOptions::has_vine_update || - PersistenceMatrixOptions::can_retrieve_representative_cycles is true, then @ref - Column_dimension_holder. Otherwise @ref Dummy_dimension_holder. - * - */ public Column_dimension_option, - /** - * @brief If (PersistenceMatrixOptions::has_column_pairings || - PersistenceMatrixOptions::has_vine_update || - PersistenceMatrixOptions::can_retrieve_representative_cycles) && - !PersistenceMatrixOptions::is_of_boundary_type is true, then @ref Chain_column_extra_properties. - Otherwise @ref Dummy_chain_properties. - */ - public Chain_column_option + public Chain_column_option { public: - using Master = unspecified; /**< Master matrix. */ - using Cell_constructor = unspecified; /**< @ref Cell factory. */ + using Master = unspecified; /**< Master matrix, that is a templated @ref Matrix. */ + using Cell_constructor = unspecified; /**< @ref Cell factory. E.g., @ref Pool_cell_constructor. */ using Field_operators = unspecified; /**< Follows the @ref FieldOperators concept. */ using Field_element_type = unspecified; /**< Type of a field element. */ using index = unspecified; /**< Type of @ref MatIdx index. */ @@ -66,7 +74,7 @@ class PersistenceMatrixColumn : using const_reverse_iterator = unspecified; /**< Column const_reverse_iterator type. */ /** - * @brief Constructs an empty column. If @p cellConstructor is not specified or is set to nullptr, the column + * @brief Constructs an empty column. If @p cellConstructor is not specified or is set to `nullptr`, the column * can only be used as a dummy, i.e., no modifying method should be used or there will be a segmentation fault. * Same goes for @p operators if @ref PersistenceMatrixOptions::is_z2 is false. * @@ -76,10 +84,10 @@ class PersistenceMatrixColumn : PersistenceMatrixColumn(Field_operators* operators = nullptr, Cell_constructor* cellConstructor = nullptr); /** * @brief Constructs a column from the given range of @ref Matrix::cell_rep_type. If the dimension is stored, - * the face is assumed to be simplicial and its dimension to be @ref nonZeroRowIndices length - 1 or 0. + * the face is assumed to be simplicial and its dimension to be `nonZeroRowIndices length - 1` or `0`. * Otherwise, the dimension should be specified with another constructor. * - * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a begin(), end() and size() method. + * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a %begin(), %end() and %size() method. * @param nonZeroRowIndices Range of @ref Matrix::cell_rep_type representing all rows with non zero values. * @param operators Pointer to the field operators. * @param cellConstructor Pointer to the cell factory. @@ -92,9 +100,9 @@ class PersistenceMatrixColumn : * @brief Constructs a column from the given range of @ref Matrix::cell_rep_type such that the rows can be accessed. * Each new cell in the column is also inserted in a row using @ref Row_access::insert_cell. * If the dimension is stored, the face is assumed to be simplicial and its dimension to be - * @ref nonZeroRowIndices length - 1 or 0. Otherwise, the dimension should be specified with another constructor. + * `nonZeroRowIndices length - 1` or `0`. Otherwise, the dimension should be specified with another constructor. * - * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a begin(), end() and size() method. + * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a %begin(), %end() and %size() method. * @tparam Row_container_type Either std::map if @ref PersistenceMatrixOptions::has_removable_rows is true or * std::vector. * @param columnIndex @ref MatIdx column index that should be specified to the cells. @@ -113,7 +121,7 @@ class PersistenceMatrixColumn : * @brief Constructs a column from the given range of @ref Matrix::cell_rep_type and stores the given dimension * if @ref Column_dimension_option is not a dummy. * - * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a begin(), end() and size() method. + * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a %begin(), %end() and %size() method. * @param nonZeroChainRowIndices Range of @ref Matrix::cell_rep_type representing all rows with non zero values. * @param dimension Dimension of the column. Is ignored if the dimension is not stored. * @param operators Pointer to the field operators. @@ -129,7 +137,7 @@ class PersistenceMatrixColumn : * Each new cell in the column is also inserted in a row using @ref Row_access::insert_cell. * Stores the given dimension if @ref Column_dimension_option is not a dummy. * - * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a begin(), end() and size() method. + * @tparam Container_type Range of @ref Matrix::cell_rep_type. Assumed to have a %begin(), %end() and %size() method. * @tparam Row_container_type Either std::map if @ref PersistenceMatrixOptions::has_removable_rows is true or * std::vector. * @param columnIndex @ref MatIdx column index that should be specified to the cells. @@ -230,9 +238,9 @@ class PersistenceMatrixColumn : * @brief Reorders the column with the given map of row indices. Also changes the column index stored in the * cells if row access is enabled and @p columnIndex is not -1. * - * Only useful for base and @ref boundarymatrix "boundary matrices" using lazy swaps. + * Only useful for @ref basematrix "base" and @ref boundarymatrix "boundary matrices" using lazy swaps. * - * @tparam Map_type Map with an `at` method. + * @tparam Map_type Map with an %at() method. * @param valueMap Map such that `valueMap.at(i)` indicates the new row index of the cell * at current row index `i`. * @param columnIndex New @ref MatIdx column index of the column. If -1, the index does not change. Ignored if @@ -243,14 +251,15 @@ class PersistenceMatrixColumn : /** * @brief Zeros/empties the column. * - * Only useful for base and @ref boundarymatrix "boundary matrices". Used in `zero_column` and in the reduction algorithm - * for the persistence barcode. + * Only useful for @ref basematrix "base" and @ref boundarymatrix "boundary matrices". + * Used in @ref Matrix::zero_column and in the reduction algorithm for the persistence barcode. */ void clear(); /** * @brief Zeros the cell at given row index. * - * Only useful for base and @ref boundarymatrix "boundary matrices". Used in `zero_cell` and during vine swaps. + * Only useful for @ref basematrix "base" and @ref boundarymatrix "boundary matrices". + * Used in @ref Matrix::zero_cell and during vine swaps. * * @warning For @ref Vector_column, do not clear a cell that was already at zero or the results of @ref size and * @ref is_empty will be wrong. @@ -262,7 +271,7 @@ class PersistenceMatrixColumn : /** * @brief Returns the row index of the pivot. If the column does not have a pivot, returns -1. * - * Only useful for boundary and @ref chainmatrix "chain matrices". + * Only useful for @ref boundarymatrix "boundary" and @ref chainmatrix "chain matrices". * * @return Row index of the pivot or -1. */ @@ -272,7 +281,7 @@ class PersistenceMatrixColumn : * * Has to have value 1 if \f$ Z_2 \f$ coefficients are used. * - * Only useful for boundary and @ref chainmatrix "chain matrices". + * Only useful for @ref boundarymatrix "boundary" and @ref chainmatrix "chain matrices". * * @return The value of the pivot or 0. */ @@ -356,9 +365,10 @@ class PersistenceMatrixColumn : /** * @brief Adds the given @ref Cell range onto the column. * - * @tparam Cell_range @ref Cell range with `begin` and `end` method. - * @param column @ref Cell range. Every cell has to return the right value when using `get_row_index` and, - * if @ref PersistenceMatrixOptions::is_z2 is false, also when using `get_element`. + * @tparam Cell_range @ref Cell range with %begin() and %end() method. + * @param column @ref Cell range. Every cell has to return the right value when using @ref Cell::get_row_index and, + * if @ref PersistenceMatrixOptions::is_z2 is false, also when using + * @ref Cell_field_element::get_element "Cell::get_element". * @return Reference to this column. */ template @@ -380,18 +390,19 @@ class PersistenceMatrixColumn : PersistenceMatrixColumn& operator*=(const Field_element_type& val); /** - * @brief @p this = @p val * @p this + @p column + * @brief `this = val * this + column` * - * @tparam Cell_range @ref Cell range with `begin` and `end` method. + * @tparam Cell_range @ref Cell range with %begin() and %end() method. * @param val Value to multiply. - * @param column @ref Cell range. Every cell has to return the right value when using `get_row_index` and, - * if @ref PersistenceMatrixOptions::is_z2 is false, also when using `get_element`. + * @param column @ref Cell range. Every cell has to return the right value when using @ref Cell::get_row_index and, + * if @ref PersistenceMatrixOptions::is_z2 is false, also when using + * @ref Cell_field_element::get_element "Cell::get_element". * @return Reference to this column. */ template PersistenceMatrixColumn& multiply_and_add(const Field_element_type& val, const Cell_range& column); /** - * @brief @p this = @p val * @p this + @p column + * @brief `this = val * this + column` * * @param val Value to multiply. * @param column Column to add. @@ -399,18 +410,19 @@ class PersistenceMatrixColumn : */ PersistenceMatrixColumn& multiply_and_add(const Field_element_type& val, PersistenceMatrixColumn& column); /** - * @brief @p this = @p this + @p column * @p val + * @brief `this = this + column * val` * - * @tparam Cell_range @ref Cell range with `begin` and `end` method. - * @param column @ref Cell range. Every cell has to return the right value when using `get_row_index` and, - * if @ref PersistenceMatrixOptions::is_z2 is false, also when using `get_element`. + * @tparam Cell_range @ref Cell range with %begin() and %end() method. + * @param column @ref Cell range. Every cell has to return the right value when using @ref Cell::get_row_index and, + * if @ref PersistenceMatrixOptions::is_z2 is false, also when using + * @ref Cell_field_element::get_element "Cell::get_element". * @param val Value to multiply. * @return Reference to this column. */ template PersistenceMatrixColumn& multiply_and_add(const Cell_range& column, const Field_element_type& val); /** - * @brief @p this = @p this + @p column * @p val + * @brief `this = this + column * val` * * @param column Column to add. * @param val Value to multiply. diff --git a/src/Persistence_matrix/concept/PersistenceMatrixOptions.h b/src/Persistence_matrix/concept/PersistenceMatrixOptions.h index f84c5eb3f5..8199dac301 100644 --- a/src/Persistence_matrix/concept/PersistenceMatrixOptions.h +++ b/src/Persistence_matrix/concept/PersistenceMatrixOptions.h @@ -31,7 +31,7 @@ namespace persistence_matrix { struct PersistenceMatrixOptions { /** - * @brief Field operators. Has to follow the @ref [TODO: concept] concept. + * @brief Field operators. Has to follow the @ref FieldOperators concept. * The type will not be used if @ref is_z2 is set to true, so it can be set to anything. */ using Field_coeff_operators = unspecified; @@ -60,30 +60,30 @@ struct PersistenceMatrixOptions static const Column_types column_type; /** * @brief Specifies the desired indexation scheme to access the methods of the matrix. - * See [TODO: ref to introduction] and @ref Column_indexation_types for more details about the meaning + * See @ref mp_indexation "matrix description" and @ref Column_indexation_types for more details about the meaning * of the indexation types. */ static const Column_indexation_types column_indexation_type; /** - * @brief Only enabled for @ref basematrix "base matrices" (i.e., none of the following is true: @ref has_column_pairings, - * @ref has_vine_update, @ref can_retrieve_representative_cycles), is ignored otherwise. + * @brief Only enabled for @ref basematrix "base matrices" (i.e., none of the following is true: + * @ref has_column_pairings, @ref has_vine_update, @ref can_retrieve_representative_cycles), is ignored otherwise. * If set to true, two identical columns in the matrix are not explicitely stored separately but are represented * by a same column. * * Note that some methods of the @ref basematrix "base matrix" are not available when true: - * - @ref Matrix::insert_column ( const Container_type& column, index columnIndex ), - * - @ref Matrix::zero_column ( index columnIndex ), - * - @ref Matrix::zero_cell ( index columnIndex, id_index rowIndex ), - * - @ref Matrix::swap_columns ( index columnIndex1, index columnIndex2 ), - * - @ref Matrix::swap_rows ( index rowIndex1, index rowIndex2 ), - * - @ref Matrix::remove_column ( index columnIndex ), - * - @ref Matrix::remove_last ( ). + * - @ref Matrix::insert_column "insert_column(const Container_type&, index)", <-- TODO: wasn't able to make the link work for Matrix::insert_column(const Container_type&, index), so it points to the wrong one... + * - @ref Matrix::zero_column "zero_column(index)", + * - @ref Matrix::zero_cell "zero_cell(index, id_index)", + * - @ref Matrix::swap_columns "swap_columns(index, index)", + * - @ref Matrix::swap_rows "swap_rows(index, index)", + * - @ref Matrix::remove_column "remove_column(index)", + * - @ref Matrix::remove_last "remove_last()". */ static const bool has_column_compression; /** - * @brief Only enabled for @ref basematrix "base matrices" or simple @ref boundarymatrix "boundary matrices", i.e., when both - * @ref has_vine_update and @ref can_retrieve_representative_cycles are false. + * @brief Only enabled for @ref basematrix "base matrices" or simple @ref boundarymatrix "boundary matrices", i.e., + * when both @ref has_vine_update and @ref can_retrieve_representative_cycles are false. * If set to true, the methods @ref Matrix::swap_columns and @ref Matrix::swap_rows are enabled. */ static const bool has_column_and_row_swaps; @@ -92,11 +92,11 @@ struct PersistenceMatrixOptions * @brief If set to true, the underlying container containing the matrix columns is an std::unordered_map. * If set to false, the container is a std::vector. By default, it is recommended to set it to false, but some * methods require it to be true to be enabled: - * - @ref Matrix::remove_column ( index columnIndex ) for @ref basematrix "base matrices", - * - @ref Matrix::remove_maximal_face ( index columnIndex ) for @ref chainmatrix "chain matrices", - * - @ref Matrix::remove_maximal_face ( id_index faceIndex, const std::vector& columnsToSwap ) + * - @ref Matrix::remove_column "remove_column(index)" for @ref basematrix "base matrices", + * - @ref Matrix::remove_maximal_face "remove_maximal_face(index)" for @ref chainmatrix "chain matrices", + * - @ref Matrix::remove_maximal_face "remove_maximal_face(id_index, const std::vector&)" * for @ref chainmatrix "chain matrices", - * - @ref Matrix::remove_last ( ) for @ref chainmatrix "chain matrices" if @ref has_vine_update is true. + * - @ref Matrix::remove_last "remove_last()" for @ref chainmatrix "chain matrices" if @ref has_vine_update is true. */ static const bool has_map_column_container; /** @@ -106,7 +106,7 @@ struct PersistenceMatrixOptions static const bool has_removable_columns; /** - * @brief If set to true, enables the method @ref get_row. + * @brief If set to true, enables the method @ref Matrix::get_row. */ static const bool has_row_access; /** @@ -117,31 +117,33 @@ struct PersistenceMatrixOptions static const bool has_intrusive_rows; /** * @brief Only enabled if @ref has_row_access is true, ignored otherwise. - * If set to true, the underlying container containing the rows is an std::map and for @ref chainmatrix "chain matrices", - * enables the method @ref Matrix::erase_row (always enabled for other matrix types). - * If set to false, the container is a std::vector. + * If set to true, the underlying container containing the rows is an std::map and for + * @ref chainmatrix "chain matrices", enables the method @ref Matrix::erase_row (always enabled for other + * matrix types). If set to false, the container is a std::vector. */ static const bool has_removable_rows; /** - * @brief Only enabled for boundary and @ref chainmatrix "chain matrices", i.e., when at least one of the following is true: + * @brief Only used, when at least one of the following is true: * @ref has_column_pairings, @ref has_vine_update or @ref can_retrieve_representative_cycles. Is ignored otherwise. - * If set to true, the matrix is a @ref boundarymatrix "boundary matrix". If set to false, the matrix is a @ref chainmatrix "chain matrix". + * If set to true, the matrix is a @ref boundarymatrix "boundary matrix". If set to false, the matrix is a + * @ref chainmatrix "chain matrix". */ static const bool is_of_boundary_type; /** - * @brief Only enabled for boundary and @ref chainmatrix "chain matrices", i.e., when at least one of the following is true: - * @ref has_column_pairings, @ref has_vine_update or @ref can_retrieve_representative_cycles. Is ignored otherwise - * (the notion of dimension makes generally no sense then). - * If set to true, enables the method @ref Matrix::get_max_dimension. If set to false, the method is disabled except - * when @ref has_column_pairings is true and @ref has_vine_update and @ref can_retrieve_representative_cycles are both - * false. In this case, the method is always available. + * @brief Only enabled for @ref boundarymatrix "boundary" and @ref chainmatrix "chain matrices", i.e., when at least + * one of the following is true: @ref has_column_pairings, @ref has_vine_update or + * @ref can_retrieve_representative_cycles. Is ignored otherwise (the notion of dimension makes generally no + * sense then). If set to true, enables the method @ref Matrix::get_max_dimension. If set to false, the method is + * disabled except when @ref has_column_pairings is true and @ref has_vine_update and + * @ref can_retrieve_representative_cycles are both false. In this case, the method is always available. */ static const bool has_matrix_maximal_dimension_access; /** * @brief If set to true, enables the method @ref Matrix::get_current_barcode. The matrix will then either be a - * @ref boundarymatrix "boundary matrix" (if @ref is_of_boundary_type is true), or a @ref chainmatrix "chain matrix" (if @ref is_of_boundary_type is false). + * @ref boundarymatrix "boundary matrix" (if @ref is_of_boundary_type is true), or a @ref chainmatrix "chain matrix" + * (if @ref is_of_boundary_type is false). */ static const bool has_column_pairings; /** @@ -160,8 +162,9 @@ struct PersistenceMatrixOptions // not implemented yet // /** - // * @brief Only enabled for boundary and @ref chainmatrix "chain matrices", i.e., when at least one of the following is true: - // * @ref has_column_pairings, @ref has_vine_update or @ref can_retrieve_representative_cycles. + // * @brief Only enabled for boundary and @ref chainmatrix "chain matrices", i.e., when at least one of + // * the following is true: @ref has_column_pairings, @ref has_vine_update or + // * @ref can_retrieve_representative_cycles. // * Is ignored otherwise // * If set to true, the matrix is decomposed in several submatrices containing each all the // * columns of same dimension. diff --git a/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/cell_constructors.h b/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/cell_constructors.h index 7418a32901..9d3548c932 100644 --- a/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/cell_constructors.h +++ b/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/cell_constructors.h @@ -66,7 +66,8 @@ struct New_cell_constructor /** * @ingroup persistence_matrix * - * @brief @ref Cell factory. Uses @ref Simple_object_pool to construct and destroy cell pointer. + * @brief @ref Cell factory. Uses @ref Gudhi::Simple_object_pool, which is based on boost::object_pool, + * to construct and destroy cell pointer. * * @tparam Cell @ref Cell with the right templates. */