version 1.4, 2011/02/18 02:59:04 |
version 1.5, 2011/06/03 04:51:15 |
|
|
/* $OpenXM: OpenXM/src/asir-contrib/testing/noro/new_pd.rr,v 1.3 2011/01/19 04:52:03 noro Exp $ */ |
/* $OpenXM: OpenXM/src/asir-contrib/testing/noro/new_pd.rr,v 1.4 2011/02/18 02:59:04 noro Exp $ */ |
import("gr")$ |
import("gr")$ |
module noro_pd$ |
module noro_pd$ |
static GBCheck,F4,EProcs,Procs,SatHomo,GBRat$ |
static GBCheck,F4,EProcs,Procs,SatHomo,GBRat$ |
Line 1569 def find_npos(GD,V,PV,Mod) |
|
Line 1569 def find_npos(GD,V,PV,Mod) |
|
{ |
{ |
N = length(V); PN = length(PV); |
N = length(V); PN = length(PV); |
G = GD[0]; D = GD[1]; LD = D[N]; |
G = GD[0]; D = GD[1]; LD = D[N]; |
|
DH = map(dp_dtop,map(dp_ht,map(dp_ptod,D,V)),V); |
Ord0 = dp_ord(); dp_ord(0); |
Ord0 = dp_ord(); dp_ord(0); |
HC = map(dp_hc,map(dp_ptod,G,V)); |
HC = map(dp_hc,map(dp_ptod,G,V)); |
dp_ord(Ord0); |
dp_ord(Ord0); |
Line 1582 def find_npos(GD,V,PV,Mod) |
|
Line 1583 def find_npos(GD,V,PV,Mod) |
|
NV = ttttt; |
NV = ttttt; |
for ( B = 2; ; B++ ) { |
for ( B = 2; ; B++ ) { |
for ( J = N-2; J >= 0; J-- ) { |
for ( J = N-2; J >= 0; J-- ) { |
for ( U = 0, K = J; K < N; K++ ) |
for ( U = 0, K = J; K < N; K++ ) { |
|
if ( DH[K] == V[K] ) continue; |
U += rsgn()*((random()%B+1))*V[K]; |
U += rsgn()*((random()%B+1))*V[K]; |
|
} |
M = minipolym(G,V,0,U,NV,Mod); |
M = minipolym(G,V,0,U,NV,Mod); |
if ( deg(M,NV) == LD ) return U; |
if ( deg(M,NV) == LD ) return U; |
} |
} |