Skip to content

Commit 77fae22

Browse files
Added some vars_reversed keyword arguments
1 parent 6d3e833 commit 77fae22

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/ControlledReduction.jl

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ function reducechain_costachunks(u,g,m,S,f,pseudoInverseMat,p,Ruvs,termorder,var
322322
nend = p
323323
end
324324

325-
matrices = computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder)
325+
matrices = computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder,vars_reversed)
326326

327327
B,A = computeRPoly_LAOneVar2(matrices,reverse(I - (nend-(d*n-n))*V),reverse(V),R)
328328
i = 1
@@ -361,7 +361,7 @@ function reducechain_costachunks(u,g,m,S,f,pseudoInverseMat,p,Ruvs,termorder,var
361361
# there's some sort of parity issue between our code and Costa's
362362
#A,B = computeRPoly_LAOneVar(y,rev_tweak(J - (i+1)*V,d*n-n) - y,S,n,d,f,pseudoInverseMat,R,PR,termorder)
363363

364-
matrices1 = computeRuv(y,S,f,pseudoInverseMat,Ruvs,termorder)
364+
matrices1 = computeRuv(y,S,f,pseudoInverseMat,Ruvs,termorder,vars_reversed)
365365
if vars_reversed == true
366366
B,A = computeRPoly_LAOneVar2(matrices1,reverse(rev_tweak(J - (i+1)*V,d*n-n) - y),reverse(y),R)
367367
else
@@ -467,7 +467,7 @@ function reducechain_naive(u,g,m,S,f,pseudoInverseMat,p,Ruvs,termorder,vars_reve
467467
mins = temp
468468
K = K+1
469469
end
470-
matrices = computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder)
470+
matrices = computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder,vars_reversed)
471471
B,A = computeRPoly_LAOneVar2(matrices,reverse(mins),reverse(V),R)
472472
i = 1
473473
while i <= K
@@ -814,21 +814,17 @@ function computeRPoly_LAOneVar(V,mins,S,n,d,f,pseudoInverseMat,R,PR,termorder)
814814
return [A,B]
815815
end
816816

817-
function computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder)
817+
function computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder,vars_reversed)
818818
n = nvars(parent(f)) - 1
819819
d = degree(f,1)
820820
R = coefficient_ring(parent(f))
821821
MS1 = matrix_space(R, binomial(n*d,n*d-n), binomial(n*d,n*d-n))
822822
if haskey(Ruvs, V)
823823
return get(Ruvs, V, 0)
824824
end
825-
#println(pseudoInverseMat)
826825
ev1 = gen_exp_vec(n+1,n*d-n,termorder)
827-
#println("$ev1")
828826
ev2 = gen_exp_vec(n+1,n*d-n+d-length(S),termorder)
829827
ev3 = gen_exp_vec(n+1,n*d-n-length(S)+1,termorder)
830-
#println("$ev3")
831-
#error()
832828
MS2 = matrix_space(R, length(ev2),1)
833829
result = Vector{typeof(MS1())}(undef, n+2)
834830
for i in 1:n+2
@@ -869,8 +865,13 @@ function computeRuv(V,S,f,pseudoInverseMat,Ruvs,termorder)
869865
if ev1[l] == ev3[k]
870866
#result[j+1][l,i] = gJS[Int((j-1)*(length(gJS)/(n+1))+1):Int(j*(length(gJS)/(n+1))),:][k]
871867
#result[1][l,i] = result[1][l,i] + (ev3[k][n+1-j+1])*gJS[Int((j-1)*(length(gJS)/(n+1))+1):Int(j*(length(gJS)/(n+1))),:][k]
872-
result[j+1][l,i] = gJS[Int((j-1)*(length(gJS)/(n+1))+1)+k-1,1]
873-
result[1][l,i] = result[1][l,i] + (ev3[k][n+1-j+1])*gJS[Int((j-1)*(length(gJS)/(n+1))+1)+k-1,1]
868+
if vars_reversed == true
869+
result[j+1][l,i] = gJS[Int((j-1)*(length(gJS)/(n+1))+1)+k-1,1]
870+
result[1][l,i] = result[1][l,i] + (ev3[k][n+1-j+1])*gJS[Int((j-1)*(length(gJS)/(n+1))+1)+k-1,1]
871+
else
872+
result[j+1][l,i] = gJS[Int((n+1-j)*(length(gJS)/(n+1))+1)+k-1,1]
873+
result[1][l,i] = result[1][l,i] + (ev3[k][n+1-j+1])*gJS[Int((n+1-j)*(length(gJS)/(n+1))+1)+k-1,1]
874+
end
874875
#println("$(result[j+1][l,i]) in $(j+1) && $(result[1][l,i]) in $(1)")
875876
end
876877
for m in 1:(n+1)

0 commit comments

Comments
 (0)