26 #define MATROWS(i) ((i)->nrows) 27 #define MATCOLS(i) ((i)->ncols) 29 #define MATELEM(mat,i,j) ((mat)->m)[MATCOLS((mat)) * ((i)-1) + (j)-1] 31 #define MATELEM0(mat,i,j) ((mat)->m)[MATCOLS((mat)) * (i) + (j)] 94 void mp_RecMin(
int, ideal,
int &,
matrix,
int,
int, poly, ideal,
const ring);
109 ideal
sm_Add(ideal a, ideal
b,
const ring
R);
110 ideal
sm_Sub(ideal a, ideal
b,
const ring
R);
111 ideal
sm_Mult(ideal a, ideal
b,
const ring
R);
122 #define SMATELEM(A,i,j,R) p_Vec2Poly(A->m[j],i+1,R)
ideal sm_Mult(ideal a, ideal b, const ring R)
const CanonicalForm int s
matrix mp_Sub(matrix a, matrix b, const ring r)
poly sm_Trace(ideal a, const ring R)
matrix mp_MultP(matrix a, poly p, const ring r)
multiply a matrix 'a' by a poly 'p', destroy the args
ideal sm_Sub(ideal a, ideal b, const ring R)
matrix pMultMp(poly p, matrix a, const ring r)
void mp_Delete(matrix *a, const ring r)
poly sm_Det(ideal I, const ring, DetVariant d=DetDefault)
poly mp_DetMu(matrix A, const ring R)
void mp_RecMin(int, ideal, int &, matrix, int, int, poly, ideal, const ring)
for minors with Bareiss
ideal sm_UnFlatten(ideal a, int col, const ring R)
void mp_MinorToResult(ideal, int &, matrix, int, int, ideal, const ring)
entries of a are minors and go to result (only if not in R)
void mp_Monomials(matrix c, int r, int var, matrix m, const ring R)
BOOLEAN mp_IsDiagUnit(matrix U, const ring r)
matrix mp_InitI(int r, int c, int v, const ring R)
make it a v * unit matrix
ideal sm_Add(ideal a, ideal b, const ring R)
matrix mp_CoeffProc(poly f, poly vars, const ring r)
void mp_Coef2(poly v, poly vars, matrix *c, matrix *m, const ring r)
corresponds to Macauley's coef: the exponent vector of vars has to contain the variables, eg 'xy'; then the poly f is searched for monomials in x and y, these monimials are written to the first row of the matrix co. the second row of co contains the respective factors in f. Thus f = sum co[1,i]*co[2,i], i = 1..cols, rows equals 2.
void iiWriteMatrix(matrix im, const char *n, int dim, const ring r, int spaces)
set spaces to zero by default
int sm_Compare(ideal a, ideal b, const ring R)
DetVariant mp_GetAlgorithmDet(matrix m, const ring r)
matrix mp_Mult(matrix a, matrix b, const ring r)
matrix mp_Transp(matrix a, const ring r)
ideal sm_Flatten(ideal a, const ring R)
BOOLEAN mp_Equal(matrix a, matrix b, const ring r)
BOOLEAN sm_Equal(ideal a, ideal b, const ring R)
matrix mp_Wedge(matrix a, int ar, const ring r)
poly mp_DetBareiss(matrix a, const ring r)
returns the determinant of the matrix m; uses Bareiss algorithm
matrix mp_Copy(const matrix a, const ring rSrc, const ring rDst)
copies matrix a from rSrc into rDst
const Variable & v
< [in] a sqrfree bivariate poly
char * iiStringMatrix(matrix im, int dim, const ring r, char ch=',')
matrix mp_CoeffProcId(ideal I, poly vars, const ring R)
matrix mp_MultI(matrix a, int f, const ring r)
c = f*a
poly TraceOfProd(matrix a, matrix b, int n, const ring r)
poly mp_Det(matrix a, const ring r, DetVariant d=DetDefault)
matrix mp_Add(matrix a, matrix b, const ring r)
matrix mp_InitP(int r, int c, poly p, const ring R)
make it a p * unit matrix
matrix mp_Coeffs(ideal I, int var, const ring r)
corresponds to Maple's coeffs: var has to be the number of a variable
matrix mpNew(int r, int c)
create a r x c zero-matrix
int mp_Compare(matrix a, matrix b, const ring r)
poly mp_Trace(matrix a, const ring r)
ideal sm_Tensor(ideal A, ideal B, const ring r)