Macaulay2 Engine
Loading...
Searching...
No Matches

◆ SymmMatrix()

SymmMatrix::SymmMatrix ( const Matrix * m0,
int p )
inlineprivate

Definition at line 96 of file matrix-symm.cpp.

97 : symm1_next(0), R(m0->get_ring()), ncols(m0->n_cols()), m(m0), result()
98 {
99 const FreeModule *Fp = m0->rows()->symm(p);
100 const FreeModule *Gp = m0->cols()->symm(p);
101
102 monomial dp = R->degree_monoid()->make_new(m->degree_shift());
103 R->degree_monoid()->power(dp, p, dp);
104
105 result = MatrixConstructor(Fp, Gp, dp);
106
107 if (p >= 0)
108 {
109 vec f = R->e_sub_i(0);
110 symm1(f, 0, p); // consumes f
111 }
112 }
FreeModule * symm(int p) const
Definition freemod.cpp:395
const Ring * get_ring() const
Definition matrix.hpp:134
int n_cols() const
Definition matrix.hpp:147
const FreeModule * rows() const
Definition matrix.hpp:144
const FreeModule * cols() const
Definition matrix.hpp:145
void symm1(vec f, int lastn, int pow)
MatrixConstructor result
const Matrix * m
const Ring * R
#define monomial
Definition gb-toric.cpp:11
int p

References Matrix::cols(), m, Matrix, monomial, ncols, p, R, result, Matrix::rows(), symm1(), and symm1_next.

Referenced by symmetricPower().