 |
My Project
debian-1:4.1.1-p2+ds-4build3
|
Go to the source code of this file.
|
matrix | mpNew (int r, int c) |
| create a r x c zero-matrix More...
|
|
static matrix | mp_New (int r, int c) |
|
void | mp_Delete (matrix *a, const ring r) |
|
matrix | mp_Copy (const matrix a, const ring rSrc, const ring rDst) |
| copies matrix a from rSrc into rDst More...
|
|
matrix | mp_Copy (matrix a, const ring r) |
| copies matrix a (from ring r to r) More...
|
|
matrix | mp_InitP (int r, int c, poly p, const ring R) |
| make it a p * unit matrix More...
|
|
matrix | mp_InitI (int r, int c, int v, const ring R) |
| make it a v * unit matrix More...
|
|
matrix | mp_MultI (matrix a, int f, const ring r) |
| c = f*a More...
|
|
matrix | mp_MultP (matrix a, poly p, const ring r) |
| multiply a matrix 'a' by a poly 'p', destroy the args More...
|
|
matrix | pMultMp (poly p, matrix a, const ring r) |
|
matrix | mp_Add (matrix a, matrix b, const ring r) |
|
matrix | mp_Sub (matrix a, matrix b, const ring r) |
|
matrix | mp_Mult (matrix a, matrix b, const ring r) |
|
matrix | mp_Transp (matrix a, const ring r) |
|
BOOLEAN | mp_Equal (matrix a, matrix b, const ring r) |
|
poly | mp_Trace (matrix a, const ring r) |
|
poly | TraceOfProd (matrix a, matrix b, int n, 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 More...
|
|
void | mp_Monomials (matrix c, int r, int var, matrix m, const ring R) |
|
matrix | mp_Coeffs (ideal I, int var, const ring r) |
| corresponds to Maple's coeffs: var has to be the number of a variable More...
|
|
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. More...
|
|
void | mp_RecMin (int, ideal, int &, matrix, int, int, poly, ideal, const ring) |
| for minors with Bareiss More...
|
|
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) More...
|
|
BOOLEAN | mp_IsDiagUnit (matrix U, const ring r) |
|
void | iiWriteMatrix (matrix im, const char *n, int dim, const ring r, int spaces) |
| set spaces to zero by default More...
|
|
char * | iiStringMatrix (matrix im, int dim, const ring r, char ch=',') |
|
int | mp_Compare (matrix a, matrix b, const ring r) |
|
ideal | mp_Tensor (ideal A, ideal B, const ring r) |
|
◆ MATCOLS
◆ MATELEM
#define MATELEM |
( |
|
mat, |
|
|
|
i, |
|
|
|
j |
|
) |
| ((mat)->m)[MATCOLS((mat)) * ((i)-1) + (j)-1] |
◆ MATROWS
◆ matrix
◆ iiStringMatrix()
char* iiStringMatrix |
( |
matrix |
im, |
|
|
int |
dim, |
|
|
const ring |
r, |
|
|
char |
ch = ',' |
|
) |
| |
◆ iiWriteMatrix()
void iiWriteMatrix |
( |
matrix |
im, |
|
|
const char * |
n, |
|
|
int |
dim, |
|
|
const ring |
r, |
|
|
int |
spaces |
|
) |
| |
set spaces to zero by default
Definition at line 734 of file matpol.cc.
740 for (
i=0;
i<=ii;
i++)
742 for (
j=0;
j<=jj;
j++)
745 Print(
"%-*.*s",spaces,spaces,
" ");
747 else if (
dim == 1)
Print(
"%s[%u]=",n,
j+1);
◆ mp_Add()
Definition at line 178 of file matpol.cc.
181 if ((n !=
b->nrows) || (
m !=
b->ncols))
190 for (
k=
m*n-1;
k>=0;
k--)
◆ mp_Coef2()
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.
Definition at line 503 of file matpol.cc.
◆ mp_CoeffProc()
matrix mp_CoeffProc |
( |
poly |
f, |
|
|
poly |
vars, |
|
|
const ring |
r |
|
) |
| |
◆ mp_Coeffs()
corresponds to Maple's coeffs: var has to be the number of a variable
Definition at line 315 of file matpol.cc.
◆ mp_Compare()
◆ mp_Copy() [1/2]
copies matrix a from rSrc into rDst
Definition at line 84 of file matpol.cc.
93 for (
i=
m*n-1;
i>=0;
i--)
◆ mp_Copy() [2/2]
copies matrix a (from ring r to r)
Definition at line 63 of file matpol.cc.
70 for (
i=
m*n-1;
i>=0;
i--)
◆ mp_Delete()
◆ mp_DetBareiss()
returns the determinant of the matrix m; uses Bareiss algorithm
Definition at line 1576 of file matpol.cc.
◆ mp_Equal()
◆ mp_InitI()
make it a v * unit matrix
Definition at line 128 of file matpol.cc.
◆ mp_InitP()
make it a p * unit matrix
Definition at line 112 of file matpol.cc.
115 int i=
si_min(r,c), n = c*(
i-1)+
i-1, inc = c+1;
◆ mp_IsDiagUnit()
◆ mp_MinorToResult()
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)
Definition at line 1407 of file matpol.cc.
1416 for (
i=r-1;
i>=0;
i--)
1418 q1 = &(a->m)[
i*a->ncols];
1425 for (
i=r-1;
i>=0;
i--)
1427 q1 = &(a->m)[
i*a->ncols];
◆ mp_Monomials()
◆ mp_Mult()
◆ mp_MultI()
◆ mp_MultP()
multiply a matrix 'a' by a poly 'p', destroy the args
Definition at line 147 of file matpol.cc.
152 for (
k=
m*n-1;
k>0;
k--)
◆ mp_New()
static matrix mp_New |
( |
int |
r, |
|
|
int |
c |
|
) |
| |
|
inlinestatic |
◆ mp_RecMin()
void mp_RecMin |
( |
int |
ar, |
|
|
ideal |
result, |
|
|
int & |
elems, |
|
|
matrix |
a, |
|
|
int |
lr, |
|
|
int |
lc, |
|
|
poly |
barDiv, |
|
|
ideal |
R, |
|
|
const ring |
r |
|
) |
| |
for minors with Bareiss
for minors with Bareiss
Definition at line 1503 of file matpol.cc.
1507 int kr=lr-1,kc=
lc-1;
◆ mp_Sub()
Definition at line 195 of file matpol.cc.
198 if ((n !=
b->nrows) || (
m !=
b->ncols))
207 for (
k=
m*n-1;
k>=0;
k--)
◆ mp_Tensor()
ideal mp_Tensor |
( |
ideal |
A, |
|
|
ideal |
B, |
|
|
const ring |
r |
|
) |
| |
Definition at line 1748 of file matpol.cc.
1756 poly *a=(poly*)
omAlloc(
m*
sizeof(poly));
1757 for(
int i=0;
i<n;
i++)
1759 memset(a,0,
m*
sizeof(poly));
1761 for(
int j=0;
j<
m;
j++)
◆ mp_Trace()
◆ mp_Transp()
◆ mp_Wedge()
Definition at line 1651 of file matpol.cc.
1654 int *rowchoise,*colchoise;
1663 rowchoise=(
int *)
omAlloc(ar*
sizeof(
int));
1664 colchoise=(
int *)
omAlloc(ar*
sizeof(
int));
1675 for (
i=1;
i<=ar;
i++)
1677 for (
j=1;
j<=ar;
j++)
1693 for (
i=1;
i<=ar;
i++)
◆ mpNew()
create a r x c zero-matrix
Definition at line 36 of file matpol.cc.
51 size_t s=((size_t)r)*((size_t)c)*
sizeof(poly);
◆ pMultMp()
◆ TraceOfProd()
◆ ip_smatrix_bin
static int si_min(const int a, const int b)
void StringAppendS(const char *st)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
void p_Normalize(poly p, const ring r)
void p_Write0(poly p, ring lmRing, ring tailRing)
#define MATELEM(mat, i, j)
static ideal mp_MultAndShift(poly f, ideal B, int s, const ring r)
int mpPivotBareiss(row_col_weight *)
void pEnlargeSet(poly **p, int l, int increment)
static void mp_ElimBar(matrix a0, matrix re, poly div, int lr, int lc, const ring R)
static poly p_Head(poly p, const ring r)
static poly p_Neg(poly p, const ring r)
static poly mp_Select(poly fro, poly what, const ring)
static poly mp_Exdiv(poly m, poly d, poly vars, const ring)
static int mp_PrepareRow(matrix a, int lr, int lc, const ring R)
matrix mp_InitP(int r, int c, poly p, const ring R)
make it a p * unit matrix
void idGetNextChoise(int r, int end, BOOLEAN *endch, int *choise)
#define __p_GetComp(p, r)
void mp_RecMin(int ar, ideal result, int &elems, matrix a, int lr, int lc, poly barDiv, ideal R, const ring r)
produces recursively the ideal of all arxar-minors of a
static void mp_PartClean(matrix a, int lr, int lc, const ring R)
static void mpFinalClean(matrix a)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
static unsigned pLength(poly a)
void mp_MinorToResult(ideal result, int &elems, matrix a, int r, int c, ideal R, const ring)
entries of a are minors and go to result (only if not in R)
for(int i=0;i<=n;i++) degsf[i]
static poly p_Copy(poly p, const ring r)
returns a copy of p
static void p_DecomposeComp(poly p, poly *a, int l, const ring r)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
BOOLEAN rHasLocalOrMixedOrdering(const ring r)
poly p_Sub(poly p1, poly p2, const ring r)
#define omFreeSize(addr, size)
static int p_Cmp(poly p1, poly p2, ring r)
#define omfreeSize(addr, size)
static int mp_PreparePiv(matrix a, int lr, int lc, const ring r)
void p_String0(poly p, ring lmRing, ring tailRing)
print p according to ShortOut in lmRing & tailRing
static poly pp_Mult_qq(poly p, poly q, const ring r)
void p_Write(poly p, ring lmRing, ring tailRing)
int p_Compare(const poly a, const poly b, const ring R)
static BOOLEAN p_IsUnit(const poly p, const ring r)
matrix mpNew(int r, int c)
create a r x c zero-matrix
static void p_Delete(poly *p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
BOOLEAN p_EqualPolys(poly p1, poly p2, const ring r)
void StringSetS(const char *st)
static int si_max(const int a, const int b)
void Werror(const char *fmt,...)
void idInitChoise(int r, int beg, int end, BOOLEAN *endch, int *choise)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void p_Vec2Polys(poly v, poly **p, int *len, const ring r)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static void p_Setm(poly p, const ring r)
poly mp_DetBareiss(matrix a, const ring r)
returns the determinant of the matrix m; uses Bareiss algorithm
const Variable & v
< [in] a sqrfree bivariate poly
static BOOLEAN p_IsConstant(const poly p, const ring r)
const CanonicalForm int s
static void mp_AddSubMat(ideal res, ideal sm, int col, const ring r)
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
static poly p_Mult_q(poly p, poly q, const ring r)
poly prCopyR_NoSort(poly p, ring src_r, ring dest_r)
matrix mp_Copy(matrix a, const ring r)
copies matrix a (from ring r to r)
matrix mpNew(int r, int c)
create a r x c zero-matrix