Definition at line 758 of file fglmzero.cc.
◆ fglmDdata()
fglmDdata::fglmDdata |
( |
int |
dimension | ) |
|
Definition at line 793 of file fglmzero.cc.
794{
798
799#ifndef HAVE_EXPLICIT_CONSTR
801#else
803#endif
809
814 delete iv;
815
819}
BOOLEAN dimension(leftv res, leftv args)
#define idDelete(H)
delete an ideal
#define idMaxIdeal(D)
initialise the maximal ideal (at 0)
static intvec * idSort(ideal id, BOOLEAN nolex=TRUE)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
ideal idInit(int idsize, int rank)
initialise an ideal / module
◆ ~fglmDdata()
fglmDdata::~fglmDdata |
( |
| ) |
|
Definition at line 821 of file fglmzero.cc.
822{
823
824
825
827#ifndef HAVE_EXPLICIT_CONSTR
829#else
830
834#endif
837
838
843}
#define omFreeSize(addr, size)
#define pLmDelete(p)
assume p != NULL, deletes Lm(p)->coef and Lm(p)
◆ buildIdeal()
ideal fglmDdata::buildIdeal |
( |
| ) |
|
|
inline |
Definition at line 786 of file fglmzero.cc.
787 {
790 }
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
◆ candidatesLeft()
BOOLEAN fglmDdata::candidatesLeft |
( |
| ) |
const |
|
inline |
◆ gaussreduce()
Definition at line 979 of file fglmzero.cc.
980{
982 number fac1, fac2;
983 number temp;
984 fglmASSERT( pdenom ==
NULL,
"pdenom in gaussreduce should be NULL" );
986 number vdenom =
v.clearDenom();
988 p.setelem(
p.size(), vdenom );
989 }
990 else {
992 }
993 number
gcd =
v.gcd();
998 pdenom= temp;
999 }
1001
1003
1004 if ( !
v.elemIsZero(
perm[
k] ) ) {
1007 v.nihilate( fac1, fac2,
gauss[
k].
v );
1009 temp=
nMult( fac2, pdenom );
1011 fac2= temp;
1012 p.nihilate( fac1, fac2,
gauss[
k].
p );
1015 pdenom= temp;
1016
1019 number
gcd =
v.gcd();
1021 {
1025 pdenom= temp;
1026 }
1033 {
1037 pdenom= temp;
1039 }
1041 }
1042 }
1043}
static FORCE_INLINE number n_SubringGcd(number a, number b, const coeffs r)
const Variable & v
< [in] a sqrfree bivariate poly
#define fglmASSERT(ignore1, ignore2)
◆ getBasisSize()
int fglmDdata::getBasisSize |
( |
| ) |
const |
|
inline |
◆ newBasisElem()
Definition at line 854 of file fglmzero.cc.
855{
856
857
864 }
866 number
pivot=
v.getconstelem(
k );
874 }
875 }
877 }
881
883#ifndef HAVE_EXPLICIT_CONSTR
885#else
887#endif
888}
oldGaussElem(const fglmVector newv, const fglmVector newp, number &newpdenom, number &newfac)
bool pivot(const matrix aMat, const int r1, const int r2, const int c1, const int c2, int *bestR, int *bestC, const ring R)
This code computes a score for each non-zero matrix entry in aMat[r1..r2, c1..c2].
◆ newGroebnerPoly()
void fglmDdata::newGroebnerPoly |
( |
fglmVector & |
v, |
|
|
poly & |
p |
|
) |
| |
Definition at line 936 of file fglmzero.cc.
941{
942
952 }
959 }
962 if ( !
nIsZero(
p.getconstelem(
k ) ) ) {
966 }
967 }
973 }
976}
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
void pEnlargeSet(poly **p, int l, int increment)
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
#define pCopy(p)
return a copy of the poly
◆ nextCandidate()
◆ updateCandidates()
Definition at line 891 of file fglmzero.cc.
892{
894 poly newmonom =
NULL;
897 int state = 0;
899 {
904 while ( list.
hasItem() && (!done) )
905 {
906 if ( (state=
pCmp( list.
getItem().monom, newmonom )) < 0 )
907 list++;
909 }
910 if ( !done )
911 {
913 break;
914 }
915 if ( state == 0 )
916 {
919 }
920 else
921 {
923 }
925 }
927 {
932 }
933}
#define pCmp(p1, p2)
pCmp: args may be NULL returns: (p2==NULL ? 1 : (p1 == NULL ? -1 : p_LmCmp(p1, p2)))
◆ basis
◆ basisSize
◆ destId
◆ dimen
◆ gauss
◆ groebnerBS
int fglmDdata::groebnerBS |
|
private |
◆ groebnerSize
int fglmDdata::groebnerSize |
|
private |
◆ isPivot
◆ nlist
◆ perm
◆ varpermutation
int* fglmDdata::varpermutation |
|
private |
The documentation for this class was generated from the following file: