|
Macaulay2 Engine
|
Sequence of MutableMatrix differentials representing an in-progress chain complex, used for engine-side minimisation / pruning. More...
#include <mutablecomplex.hpp>
Classes | |
| class | iterator |
| Cursor pointing at one entry of one differential matrix in the complex: a (matrix index, (row, col)) triple. More... | |
Public Member Functions | |
| MutableComplex () | |
| MutableComplex (VECTOR(MutableMatrix *) &D) | |
| virtual | ~MutableComplex () |
| size_t | complexity (const iterator &i, const size_t flags) const |
| bool | next_unit (iterator &i, const size_t flags) const |
| bool | find_unit (iterator &i, const size_t flags) const |
| std::vector< iterator > | list_units (size_t n, const size_t flags) const |
| void | prune_unit (const iterator &i, const size_t flags) |
| void | prune_matrix (size_t n, const size_t flags) |
| void | prune_complex (const size_t nsteps, const size_t flags) |
| std::vector< size_t > | prune_betti (const size_t nsteps, const size_t flags) |
| VECTOR (MutableMatrix *) prune_morphisms(const size_t nsteps | |
| void | text_out (buffer &o) const |
| Public Member Functions inherited from MutableEngineObject | |
| MutableEngineObject () | |
| virtual | ~MutableEngineObject () |
| unsigned int | hash () const |
| Public Member Functions inherited from our_gc_cleanup | |
| our_gc_cleanup () | |
| virtual | ~our_gc_cleanup () |
Public Attributes | |
| const size_t | flags |
Private Member Functions | |
| VECTOR (MutableMatrix *) mDifferential | |
| VECTOR (MutableMatrix *) mMorphisms | |
| VECTOR (MutableMatrix *) mDegrees | |
Private Attributes | |
| const Ring * | mRing |
| const LocalRing * | mLocalRing |
| const PolynomialRing * | mPolynomialRing |
| std::vector< size_t > | mBetti |
Additional Inherited Members | |
| Static Public Member Functions inherited from our_new_delete | |
| static void * | operator new (size_t size) |
| static void * | operator new[] (size_t size) |
| static void | operator delete (void *obj) |
| static void | operator delete[] (void *obj) |
| static void * | operator new (size_t size, void *existing_memory) |
| static void * | operator new[] (size_t size, void *existing_memory) |
| static void | operator delete (void *obj, void *existing_memory) |
| static void | operator delete[] (void *obj, void *existing_memory) |
Sequence of MutableMatrix differentials representing an in-progress chain complex, used for engine-side minimisation / pruning.
Holds the underlying ring (mRing), and, if applicable, its LocalRing / PolynomialRing casts so prune_* can switch to the local-ring path when warranted. mDifferential[i] is the matrix from position i+1 to position i, and mBetti caches the per-position Betti numbers (matrix sizes). The pruning API (prune_unit, prune_matrix, prune_complex) walks over (matrix, row, col) triples produced by the nested iterator and uses any unit entry it finds to row/column reduce the complex in place, lowering the Betti numbers while preserving the homology.
Definition at line 69 of file mutablecomplex.hpp.