#include <tgbgauss.h>
|
void | sort_rows () |
|
| tgb_sparse_matrix (int i, int j, ring rarg) |
|
| ~tgb_sparse_matrix () |
|
int | get_rows () |
|
int | get_columns () |
|
void | print () |
|
void | row_normalize (int row) |
|
void | row_content (int row) |
|
void | perm_rows (int i, int j) |
|
void | set (int i, int j, number n) |
|
number | get (int i, int j) |
|
BOOLEAN | is_zero_entry (int i, int j) |
|
void | free_row (int row, BOOLEAN free_non_zeros=TRUE) |
|
int | min_col_not_zero_in_row (int row) |
|
int | next_col_not_zero (int row, int pre) |
|
BOOLEAN | zero_row (int row) |
|
void | mult_row (int row, number factor) |
|
void | add_lambda_times_row (int add_to, int summand, number factor) |
|
int | non_zero_entries (int row) |
|
Definition at line 60 of file tgbgauss.h.
◆ tgb_sparse_matrix()
tgb_sparse_matrix::tgb_sparse_matrix |
( |
int |
i, |
|
|
int |
j, |
|
|
ring |
rarg |
|
) |
| |
Definition at line 645 of file tgbgauss.cc.
646{
648 int z;
650 {
652 }
657}
◆ ~tgb_sparse_matrix()
tgb_sparse_matrix::~tgb_sparse_matrix |
( |
| ) |
|
Definition at line 659 of file tgbgauss.cc.
660{
661 int z;
663 {
665 {
667 {
669 }
670 else {
672 {
676 }
677 }
678 }
679 }
681}
void mac_destroy(mac_poly p)
◆ add_lambda_times_row()
void tgb_sparse_matrix::add_lambda_times_row |
( |
int |
add_to, |
|
|
int |
summand, |
|
|
number |
factor |
|
) |
| |
Definition at line 909 of file tgbgauss.cc.
910{
912}
mac_poly mac_p_add_ff_qq(mac_poly a, number f, mac_poly b)
◆ free_row()
void tgb_sparse_matrix::free_row |
( |
int |
row, |
|
|
BOOLEAN |
free_non_zeros = TRUE |
|
) |
| |
Definition at line 928 of file tgbgauss.cc.
929{
930 if(free_non_zeros)
932 else
933 {
935 {
939 }
940 }
942}
◆ get()
number tgb_sparse_matrix::get |
( |
int |
i, |
|
|
int |
j |
|
) |
| |
Definition at line 766 of file tgbgauss.cc.
767{
774 {
776 return n;
777 }
780}
◆ get_columns()
int tgb_sparse_matrix::get_columns |
( |
| ) |
|
◆ get_rows()
int tgb_sparse_matrix::get_rows |
( |
| ) |
|
◆ is_zero_entry()
BOOLEAN tgb_sparse_matrix::is_zero_entry |
( |
int |
i, |
|
|
int |
j |
|
) |
| |
◆ min_col_not_zero_in_row()
int tgb_sparse_matrix::min_col_not_zero_in_row |
( |
int |
row | ) |
|
Definition at line 798 of file tgbgauss.cc.
799{
801 {
804 }
805 else
807}
◆ mult_row()
void tgb_sparse_matrix::mult_row |
( |
int |
row, |
|
|
number |
factor |
|
) |
| |
Definition at line 914 of file tgbgauss.cc.
915{
917 {
920
921 return;
922 }
924 return;
926}
void mac_mult_cons(mac_poly p, number c)
◆ next_col_not_zero()
int tgb_sparse_matrix::next_col_not_zero |
( |
int |
row, |
|
|
int |
pre |
|
) |
| |
◆ non_zero_entries()
int tgb_sparse_matrix::non_zero_entries |
( |
int |
row | ) |
|
Definition at line 903 of file tgbgauss.cc.
904{
906}
int mac_length(mac_poly p)
◆ perm_rows()
void tgb_sparse_matrix::perm_rows |
( |
int |
i, |
|
|
int |
j |
|
) |
| |
|
inline |
◆ print()
void tgb_sparse_matrix::print |
( |
| ) |
|
Definition at line 698 of file tgbgauss.cc.
699{
704 {
707 {
715 }
717 }
718}
static FORCE_INLINE void n_Write(number n, const coeffs r, const BOOLEAN bShortOut=TRUE)
const CanonicalForm int s
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void StringSetS(const char *st)
void PrintS(const char *s)
◆ row_content()
void tgb_sparse_matrix::row_content |
( |
int |
row | ) |
|
Definition at line 847 of file tgbgauss.cc.
848{
852
855 {
858 }
859 else
860 {
863 {
866 {
869 }
870 }
872
875
877 {
883 {
884 break;
885 }
887 }
889
891 {
893 {
898 }
899 }
901 }
902}
static FORCE_INLINE number n_Gcd(number a, number b, const coeffs r)
in Z: return the gcd of 'a' and 'b' in Z/nZ, Z/2^kZ: computed as in the case Z in Z/pZ,...
number ndGcd(number, number, const coeffs r)
#define TEST_OPT_CONTENTSB
◆ row_normalize()
void tgb_sparse_matrix::row_normalize |
( |
int |
row | ) |
|
Definition at line 831 of file tgbgauss.cc.
832{
834 {
837 {
838 #ifndef SING_NDEBUG
840 #endif
843 }
844 }
845}
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
static BOOLEAN rField_has_simple_inverse(const ring r)
◆ set()
void tgb_sparse_matrix::set |
( |
int |
i, |
|
|
int |
j, |
|
|
number |
n |
|
) |
| |
Definition at line 721 of file tgbgauss.cc.
722{
726
727 while(((*set_this)!=
NULL) && ((*set_this)->exp<
j))
728 set_this=&((*set_this)->next);
729
730 if (((*set_this)==
NULL)||((*set_this)->exp>
j))
731 {
736 (*set_this)->coef=n;
737 (*set_this)->next=old;
738 return;
739 }
742 {
744 (*set_this)->coef=n;
745 }
746 else
747 {
750 (*set_this)=dt->
next;
751 delete dt;
752 }
753 return;
754}
◆ sort_rows()
void tgb_sparse_matrix::sort_rows |
( |
| ) |
|
Definition at line 693 of file tgbgauss.cc.
694{
696}
static int row_cmp_gen(const void *a, const void *b)
◆ zero_row()
BOOLEAN tgb_sparse_matrix::zero_row |
( |
int |
row | ) |
|
◆ free_row_to_poly
poly free_row_to_poly |
( |
tgb_sparse_matrix * |
mat, |
|
|
int |
row, |
|
|
poly * |
monoms, |
|
|
int |
monom_index |
|
) |
| |
|
friend |
Definition at line 3118 of file tgb.cc.
3120{
3122 poly *set_this = &
p;
3126 {
3127 (*set_this) =
pLmInit (monoms[monom_index - 1 -
r->exp]);
3129 set_this = &((*set_this)->next);
3132 delete old;
3133
3134 }
3136}
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
#define pLmInit(p)
like pInit, except that expvector is initialized to that of p, p must be != NULL
◆ init_with_mac_poly
Definition at line 3103 of file tgb.cc.
3104{
3107#ifdef TGB_DEBUG
3110 {
3113 }
3114#endif
3115}
◆ columns
int tgb_sparse_matrix::columns |
|
private |
◆ free_numbers
BOOLEAN tgb_sparse_matrix::free_numbers |
|
private |
◆ mp
ring tgb_sparse_matrix::r |
|
private |
◆ rows
int tgb_sparse_matrix::rows |
|
private |
The documentation for this class was generated from the following files: