class MAT_POLYM_INTI




Public


Readable Attributes
attr m:ARRAY{ARRAY{ET}}; .. Included as m
attr nc:CARD; .. Included as nc
**** column
attr nr:CARD; .. Included as nr
**** row

Writable Attributes
attr m:ARRAY{ARRAY{ET}}; .. Included as m
attr nc:CARD; .. Included as nc
**** column
attr nr:CARD; .. Included as nr
**** row

Readonly Shareds
shared r_0:ET; .. Included as r_0
shared r_1:ET; .. Included as r_1

Writable Shareds
shared r_0:ET; .. Included as r_0
shared r_1:ET; .. Included as r_1

Features
aget(i1:CARD):ARRAY{ET} .. Included as aget
**** The array with index `[i1]'.
aget(i1,i2:CARD):ET .. Included as aget
**** The element with indices `[i1,i2]'.
aget(i1:INT):ARRAY{ET} .. Included as aget
**** The array with index `[i1]'.
aget(i1,i2:INT):ET .. Included as aget
**** The element with indices `[i1,i2]'.
aset(i1:CARD,val:ARRAY{ET}) .. Included as aset
**** Set row with index `[i1]' to val.
aset(i1,i2:CARD,val:ET) .. Included as aset
**** Set the element with indices `[i1,i2]' to val.
aset(i1:INT,val:ARRAY{ET}) .. Included as aset
**** Set row with index `[i1]' to val.
aset(i1,i2:INT,val:ET) .. Included as aset
**** Set the element with indices `[i1,i2]' to val.
clear .. Included as clear
**** in place make zero matrix
cofactor(ip,jp:CARD):ET .. Included as cofactor
**** return -minor(ip,jp) if ip+jp odd
_________minor(ip,jp)_if_ip+jp_even
col_plus_scaled_col(j0,j1:CARD, c:ET) .. Included as col_plus_scaled_col
**** in place m[*,j0]=m[*,j0]+c*m[*,j1]
copy:SAME .. Included as copy
create(r,c:CARD):SAME
create(r,c:CARD, r_one:ET):SAME .. Included as create
create(r,c:INT, r_one:ET):SAME .. Included as create
create(arg:SAME):SAME .. Included as create
**** Creates a new matrix with the same dimensions.
det:ET .. Included as det
**** Use when cannot work Gaussian algorithm. i.e. "ET" is not a field
det_primitive:ET .. Included as det_primitive
**** Use when cannot work Gaussian algorithm. __very slow__
diagonal:ARRAY{ET} .. Included as diagonal
has_ind(i,j:CARD):BOOL .. Included as has_ind
**** return (m.has_ind(i) and m[i].has_ind(j));
has_ind(i,j:INT):BOOL .. Included as has_ind
**** return (m.has_ind(i) and m[i].has_ind(j));
minor(ip,jp:CARD):ET .. Included as minor
**** assume the matrix is square(nr=nc)
minor_matrix(ip,jp:CARD):SAME .. Included as minor_matrix
**** remove row [ip] and column [jp].
minor_matrix_column(jp:CARD):SAME .. Included as minor_matrix_column
**** remove column [jp].
minor_matrix_row(ip:CARD):SAME .. Included as minor_matrix_row
**** remove row [ip].
minus(o:SAME) .. Included as minus
**** in place self:=self-o
minus(o:SAME):SAME .. Included as minus
**** self-o
minus(o:SAME, r_ofs:CARD, c_ofs:CARD) .. Included as minus
**** in place minus with offset
minus_arg(arg:SAME) .. Included as minus_arg
**** in place self:=arg-self
negate .. Included as negate
**** in place
negate:SAME .. Included as negate
plus(o:SAME) .. Included as plus
**** in place self:=self + o
plus(o:SAME):SAME .. Included as plus
**** self + o
plus(o:SAME, r_ofs:CARD, c_ofs:CARD) .. Included as plus
**** in place plus with offset.
resize(nr1,nc1:CARD):SAME .. Included as resize
row_plus_scaled_row(i0,i1:CARD, c:ET) .. Included as row_plus_scaled_row
**** in place m[i0,*]=m[i0,*]+c*m[i1,*]
str:STR .. Included as str
strTeX:STR .. Included as strTeX
str_latex_array:STR .. Included as str_latex_array
**** LaTeX array. v:var name
str_pmatrix:STR .. Included as str_pmatrix
**** TeX \pmatrix{ }. v:var name
sub_matrix(ci,cj:ARRAY{CARD}):SAME .. Included as sub_matrix
**** sub-matrix with combination(selection) ci[] for row {0..nr-1} and cj[] for column {0..nc-1}
swap_col(j1,j2:CARD) .. Included as swap_col
**** in place
swap_col(j1,j2:CARD, i_start, i_end:CARD) .. Included as swap_col
**** in place
swap_row(i1,i2:CARD) .. Included as swap_row
**** in place
times(o:SAME) .. Included as times
**** in place
times(o:SAME):SAME .. Included as times
times(a:SAME, shift:CARD) .. Included as times
**** in place self = self*(a,shift) the argument "a,shift" means: | E 0 0 | -- diagonal of size of "shift" | 0 a 0 | -- arg. | 0 0 E | -- rest
times(o:ET) .. Included as times
**** in place
times(o:ET):SAME .. Included as times
times_arg(a:SAME, shift:CARD) .. Included as times_arg
**** in place self = (a,shift)*self the argument "a,shift" means: | E 0 0 | -- diagonal of size of "shift" | 0 a 0 | -- arg. | 0 0 E | -- rest
times_trans(o:SAME) .. Included as times_trans
**** in place self:=self*(o.trans)
times_trans(o:SAME):SAME .. Included as times_trans
**** self*(o.trans)
to_diagonal(d:ARRAY{ET}) .. Included as to_diagonal
**** in place make diagonal matrix with values from "d".
to_unit .. Included as to_unit
**** in place make unit matrix
trace:ET .. Included as trace
trans .. Included as trans
**** in place transpose
trans:SAME .. Included as trans
**** transpose
unit(r,c:CARD):SAME .. Included as unit
**** unit matrix of (r,c)


Private

shared det_primitive_d:ET; .. Included as det_primitive_d
shared det_primitive_d:ET; .. Included as det_primitive_d
det_primitive_r(i:CARD,jpiv:ARRAY{CARD},d:ET) .. Included as det_primitive_r

The Sather Home Page