class MAT_POLYS_INTI |
---|
attr m:ARRAY{ARRAY{ET}}; .. Included as m |
---|
attr nc:CARD; .. Included as nc |
---|
**** | column |
attr nr:CARD; .. Included as nr |
---|
**** | row |
attr m:ARRAY{ARRAY{ET}}; .. Included as m |
---|
attr nc:CARD; .. Included as nc |
---|
**** | column |
attr nr:CARD; .. Included as nr |
---|
**** | row |
shared r_0:ET; .. Included as r_0 |
---|
shared r_1:ET; .. Included as r_1 |
---|
shared r_0:ET; .. Included as r_0 |
---|
shared r_1:ET; .. Included as r_1 |
---|
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 .. Included as create |
---|
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_mod_unit:POLYS_INTI |
---|
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(var_name:STR):STR .. Included as strTeX |
---|
strTeX:STR .. Included as strTeX |
---|
str_array(var_name:STR):STR .. Included as str_array |
---|
**** | LaTeX array. v:var name |
str_latex_array:STR .. Included as str_latex_array |
---|
**** | LaTeX array. v:var name |
str_pmatrix(var_name:STR):STR .. Included as str_pmatrix |
---|
**** | TeX \pmatrix{ }. 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) |
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 |
---|