class MAT_POLYS_INTI_REDUCTION
****

-----------------_matrix_reduction_-----------


Flattened version is here



Public


Readonly Shareds
shared Mat:MAT_POLYS_INTI;
****
shared Pivot_lc:INTI;
**** coefficient of highest term
shared cv0:ARRAY{POLYS_INTI};
shared ip,jp:CARD;
shared jPivot:ARRAY{CARD};
**** [1..ALEXMATmaxC]
shared ip,jp:CARD;
shared p0:CARD;
shared polydegM:CARD;

Writable Shareds
shared Mat:MAT_POLYS_INTI;
****
shared Pivot_lc:INTI;
**** coefficient of highest term
shared cv0:ARRAY{POLYS_INTI};
shared ip,jp:CARD;
shared jPivot:ARRAY{CARD};
**** [1..ALEXMATmaxC]
shared ip,jp:CARD;
shared p0:CARD;
shared polydegM:CARD;

Features
CheckZero(p0:CARD):BOOL
CheckZeroI(p0:CARD):BOOL
CheckZeroJ(p0:CARD):BOOL
SetPivot(p0:CARD, inout polydeg:CARD, out piv_is_unit:BOOL):BOOL
**** Set Pivot_lc,jPivot: ip:=p0,jp:=jPivot[p0],cv0:=Mat[ip];
SetPivotSearch(p0:CARD, polydeg:CARD, out deg:CARD, out Pivot_is_unit:BOOL)
Sp(i,j:CARD, out deg:CARD,out Pivot_lc:INTI)
SubC(i:CARD, inout polydegM:CARD, piv_is_unit:BOOL):BOOL
SubL(j:CARD, inout polydegM:CARD):BOOL
maxDeg(p0:CARD):CARD
**** maximal degree in [p0..iDeg][p0..jDeg]
reduce(inout mat:MAT_POLYS_INTI,out jpivot:ARRAY{CARD},out rDeg:CARD)
**** #OUT+"reduce\n";
shiftC(i:CARD)
**** shift degree of i-th row to standard position
shiftL(j:CARD)
**** shift degree to standard position

The Sather Home Page