Engine-side matrix: a map between two free modules, stored as a column-vector list.
More...
|
| const Matrix * | remake (const FreeModule *target, const FreeModule *source, M2_arrayint deg) const |
| const Matrix * | remake (const FreeModule *target) const |
| const Ring * | get_ring () const |
| vec & | operator[] (int i) |
| const vec & | operator[] (int i) const |
| ring_elem | elem (int i, int j) const |
| vec & | elem (int i) |
| const vec & | elem (int i) const |
| const FreeModule * | rows () const |
| const FreeModule * | cols () const |
| int | n_rows () const |
| int | n_cols () const |
| const_monomial | degree_shift () const |
| MonomialIdeal * | make_monideal (int n, bool use_only_monomials_with_unit_coeffs=false) const |
| Matrix * | clean (gmp_RR epsilon) const |
| gmp_RRorNull | norm (gmp_RR p) const |
| Matrix * | sub_matrix (M2_arrayint r, M2_arrayint c) const |
| Matrix * | sub_matrix (M2_arrayint c) const |
| Matrix * | transpose () const |
| Matrix * | operator+ (const Matrix &m) const |
| Matrix * | operator- () const |
| Matrix * | operator- (const Matrix &m) const |
| Matrix * | scalar_mult (const ring_elem r, bool opposite_mult) const |
| Matrix * | mult (const Matrix *m, bool opposite_mult) const |
| Matrix * | concat (const Matrix &m) const |
| Matrix * | koszul (int p) const |
| Matrix * | reshape (const FreeModule *G, const FreeModule *H) const |
| Matrix * | direct_sum (const Matrix *m) const |
| Matrix * | module_tensor (const Matrix *m) const |
| Matrix * | tensor (const Matrix *m) const |
| Matrix * | diff (const Matrix *m, int use_coef) const |
| Matrix * | symm (int n) const |
| Matrix * | coeffs (M2_arrayint vars, const Matrix *monoms) const |
| Matrix * | monomials (M2_arrayint vars) const |
| M2_arrayintOrNull | support () const |
| Matrix * | top_coefficients (Matrix *&monoms) const |
| const Matrix * | basis (M2_arrayint lo_degree, M2_arrayint hi_degree, M2_arrayint wt, M2_arrayint vars, bool do_truncation, int limit) const |
| Matrix * | exterior (int p, int strategy) const |
| Matrix * | minors (int p, int strategy) const |
| Matrix * | minors (int p, int strategy, int n_to_compute, M2_arrayintOrNull first_row, M2_arrayintOrNull first_col) const |
| Matrix * | pfaffians (int p) const |
| ring_elem | pfaffian () const |
| bool | is_equal (const Matrix &m) const |
| bool | is_zero () const |
| bool | is_homogeneous () const |
| Matrix * | homogenize (int v, const std::vector< int > &wts) const |
| Matrix * | simplify (int n) const |
| Matrix * | auto_reduce () const |
| M2_arrayint | sort (int degorder, int monorder) const |
| Matrix * | lead_term (int n=-1) const |
| int | dimension1 () const |
| const Matrix * | content () const |
| const Matrix * | remove_content () const |
| const Matrix * | split_off_content (const Matrix *&result) const |
| void | minimal_lead_terms (gc_vector< int > &result) const |
| M2_arrayint | elim_vars (int nparts) const |
| M2_arrayint | elim_keep (int nparts) const |
| Matrix * | divide_by_var (int n, int maxd, int &maxdivided) const |
| Matrix * | compress () const |
| Matrix * | remove_monomial_factors (bool make_squarefree_only) const |
| Matrix * | remove_scalar_multiples () const |
| void | text_out (buffer &o) const |
| | EngineObject () |
| virtual | ~EngineObject () |
| unsigned int | hash () const |
|
| static const Matrix * | make (const FreeModule *target, int ncols, const engine_RawRingElementArray M) |
| static const Matrix * | make (const FreeModule *target, const FreeModule *source, M2_arrayint deg, const engine_RawRingElementArray M) |
| static const Matrix * | make_sparse (const FreeModule *target, int ncols, M2_arrayint rows, M2_arrayint cols, const engine_RawRingElementArray entries) |
| static const Matrix * | make_sparse (const FreeModule *target, const FreeModule *source, M2_arrayint deg, M2_arrayint rows, M2_arrayint cols, const engine_RawRingElementArray entries) |
| static const Matrix * | make (const MonomialIdeal *mi) |
| static Matrix * | identity (const FreeModule *F) |
| static Matrix * | zero (const FreeModule *F, const FreeModule *G) |
| static Matrix * | koszul (const Matrix *rows, const Matrix *cols) |
| static Matrix * | koszul_monomials (int nskew, const Matrix *rows, const Matrix *cols) |
| static Matrix * | flip (const FreeModule *G, const FreeModule *H) |
| static Matrix * | wedge_product (int p, int q, const FreeModule *F) |
| static Matrix * | random (const Ring *R, int r, int c) |
| static Matrix * | random (const Ring *R, int r, int c, double fraction_non_zero, int special_type) |
| 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) |
Engine-side matrix: a map between two free modules, stored as a column-vector list.
- Note
- AI-generated documentation. Verify against the source before relying on it.
Holds a target FreeModule (rows), a source FreeModule (columns), a mDegreeShift element of the degree monoid, and a gc_vector<vec> mEntries where each vec is the sparse linked-list representation of one column. The class is immutable once exposed to the front end (its computeHashValue pins the hash), so all mutating construction goes through the helper MatrixConstructor. Static make / make_sparse factories convert raw engine_RawRingElementArray input into a fully populated Matrix*.
Definition at line 66 of file matrix.hpp.