My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
Singular
dyn_modules
gfanlib
witness.cc
Go to the documentation of this file.
1
#include "
kernel/GBEngine/kstd1.h
"
2
#include "
Singular/lists.h
"
3
#include "
polys/monomials/p_polys.h
"
4
#include "
callgfanlib_conversion.h
"
5
#include "
tropicalDebug.h
"
6
#include "
initial.h
"
7
#include "
tropicalStrategy.h
"
8
9
matrix
divisionDiscardingRemainder
(
const
poly
f
,
const
ideal
G
,
const
ring r)
10
{
11
ring origin =
currRing
;
12
if
(origin != r)
rChangeCurrRing
(r);
13
ideal F =
idInit
(1); F->m[0]=
f
;
14
ideal
m
=
idLift
(
G
,F);
15
F->m[0]=
NULL
;
id_Delete
(&F,
currRing
);
16
matrix
Q
=
id_Module2formatedMatrix
(
m
,
IDELEMS
(
G
),1,
currRing
);
17
if
(origin != r)
rChangeCurrRing
(origin);
18
return
Q
;
19
}
20
21
matrix
divisionDiscardingRemainder
(
const
ideal F,
const
ideal
G
,
const
ring r)
22
{
23
ring origin =
currRing
;
24
if
(origin != r)
rChangeCurrRing
(r);
25
ideal
R
;
matrix
U;
26
ideal
m
=
idLift
(
G
,F,&
R
,
FALSE
,
FALSE
,
TRUE
,&U);
27
matrix
Q
=
id_Module2formatedMatrix
(
m
,
IDELEMS
(
G
),
IDELEMS
(F),
currRing
);
28
id_Delete
(&
R
,r);
29
mp_Delete
(&U,r);
30
if
(origin != r)
rChangeCurrRing
(origin);
31
return
Q
;
32
}
33
34
poly
witness
(
const
poly
m
,
const
ideal I,
const
ideal inI,
const
ring r)
35
{
36
assume
(
IDELEMS
(I)==
IDELEMS
(inI));
37
matrix
Q
=
divisionDiscardingRemainder
(
m
,inI,r);
38
39
int
k
=
IDELEMS
(I);
40
poly
f
= p_Mult_q(p_Copy(I->m[0],r),
Q
->m[0],r);
41
Q
->m[0] =
NULL
;
42
for
(
int
i
=1;
i
<
k
;
i
++)
43
{
44
f
= p_Add_q(
f
,p_Mult_q(p_Copy(I->m[
i
],r),
Q
->m[
i
],r),r);
45
Q
->m[
i
] =
NULL
;
46
}
47
mp_Delete
(&
Q
,r);
48
49
return
f
;
50
}
51
52
ideal
witness
(
const
ideal inI,
const
ideal J,
const
ring r)
53
{
54
ring origin =
currRing
;
55
if
(origin!=r)
56
rChangeCurrRing
(r);
57
ideal NFinI =
kNF
(J,r->qideal,inI);
58
if
(origin!=r)
59
rChangeCurrRing
(origin);
60
61
int
k
=
IDELEMS
(inI);
62
ideal I =
idInit
(
k
);
63
for
(
int
i
=0;
i
<
k
;
i
++)
64
{
65
I->m[
i
] = p_Add_q(p_Copy(inI->m[
i
],r),p_Neg(NFinI->m[
i
],r),r);
66
NFinI->m[
i
] =
NULL
;
67
}
68
69
assume
(
areIdealsEqual
(I,r,J,r));
70
71
return
I;
72
}
TRUE
#define TRUE
Definition
auxiliary.h:101
FALSE
#define FALSE
Definition
auxiliary.h:97
callgfanlib_conversion.h
m
int m
Definition
cfEzgcd.cc:128
i
int i
Definition
cfEzgcd.cc:132
k
int k
Definition
cfEzgcd.cc:99
f
FILE * f
Definition
checklibs.c:9
idLift
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit, GbVariant alg)
represents the generators of submod in terms of the generators of mod (Matrix(SM)*U-Matrix(rest)) = M...
Definition
ideals.cc:1109
initial.h
G
STATIC_VAR TreeM * G
Definition
janet.cc:31
kNF
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
Definition
kstd1.cc:3230
kstd1.h
lists.h
mp_Delete
void mp_Delete(matrix *a, const ring r)
Definition
matpol.cc:874
matrix
ip_smatrix * matrix
Definition
matpol.h:43
assume
#define assume(x)
Definition
mod2.h:389
NULL
#define NULL
Definition
omList.c:12
p_polys.h
rChangeCurrRing
void rChangeCurrRing(ring r)
Definition
polys.cc:16
currRing
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition
polys.cc:13
idInit
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition
simpleideals.cc:35
id_Delete
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
Definition
simpleideals.cc:123
id_Module2formatedMatrix
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)
Definition
simpleideals.cc:1721
IDELEMS
#define IDELEMS(i)
Definition
simpleideals.h:23
R
#define R
Definition
sirandom.c:27
Q
#define Q
Definition
sirandom.c:26
areIdealsEqual
bool areIdealsEqual(ideal I, ring r, ideal J, ring s)
Definition
tropicalDebug.cc:41
tropicalDebug.h
tropicalStrategy.h
implementation of the class tropicalStrategy
divisionDiscardingRemainder
matrix divisionDiscardingRemainder(const poly f, const ideal G, const ring r)
Computes a division discarding remainder of f with respect to G.
Definition
witness.cc:9
witness
poly witness(const poly m, const ideal I, const ideal inI, const ring r)
Let w be the uppermost weight vector in the matrix defining the ordering on r.
Definition
witness.cc:34
Generated on
for My Project by
doxygen 1.18.0
for
Singular