@@ -590,7 +590,7 @@ function reducechain_naive(u,g,m,S,f,pseudoInverseMat,p,context,explookup,params
590590 @. mins = tempv
591591 K = K+ 1
592592 end
593- matrices = computeRuvS012 (V,S,f,pseudoInverseMat,context. Ruvs,explookup,params)
593+ matrices = computeRuvS (V,S,f,pseudoInverseMat,context. Ruvs,explookup,params)
594594 computeRPoly_LAOneVar2! (context. B,context. A,matrices,reverse (mins),reverse (V),R,context. temp)
595595 i = 1
596596 if params. fastevaluation == false
@@ -1093,11 +1093,11 @@ function precomputeRuvs(S,f,pseudoInverseMat,Ruvs,explookup,params)
10931093
10941094 evs = gen_exp_vec (n+ 1 ,d,params. termorder)
10951095 Threads. @threads for V in evs
1096- computeRuvS012 (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
1096+ computeRuvS (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
10971097 end
10981098end
10991099
1100- function computeRuv (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
1100+ function computeRuvOld (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
11011101 vars_reversed = params. vars_reversed
11021102 termorder = params. termorder
11031103 n = nvars (parent (f)) - 1
@@ -1167,7 +1167,7 @@ function computeRuv(V,S,f,pseudoInverseMat,Ruvs,explookup,params)
11671167 return result
11681168end
11691169
1170- function computeRuvS012 (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
1170+ function computeRuvS (V,S,f,pseudoInverseMat,Ruvs,explookup,params)
11711171 vars_reversed = params. vars_reversed
11721172 termorder = params. termorder
11731173 n = nvars (parent (f)) - 1
@@ -1221,23 +1221,21 @@ function computeRuvS012(V,S,f,pseudoInverseMat,Ruvs,explookup,params)
12211221 distance = 0
12221222 if Stilda[n+ 1 - j+ 1 ] == 1
12231223 for k in 1 : length (ev3)
1224- println (ev3[k])
12251224 for m in 1 : (n+ 1 )
12261225 if m == n+ 1 - j+ 1
12271226 temp[m] = ev3[k][m] + Stilda[m] - 1
12281227 else
12291228 temp[m] = ev3[k][m] + Stilda[m]
12301229 end
12311230 end
1232- println (temp)
12331231 # print("ev1[l]: $((ev1[l],typeof(ev1[l])));")
12341232 # print("ev3[k]: $((ev3[k],typeof(ev3[k])));")
12351233 # println(" $(ev1[l] == ev3[k])")
12361234 l = get (explookup,temp,- 1 )
12371235 # result[j+1][l,i] = gJS[Int((j-1)*(length(gJS)/(n+1))+1):Int(j*(length(gJS)/(n+1))),:][k]
12381236 # 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]
1239- result[j+ 1 ][l,i] = result[j+ 1 ][l,i] + gJS[distance+ k- 1 ,1 ]
1240- result[1 ][l,i] = result[1 ][l,i] + (ev3[k][n+ 1 - j+ 1 ])* gJS[distance+ k- 1 ,1 ]
1237+ result[j+ 1 ][l,i] = result[j+ 1 ][l,i] + gJS[distance+ k,1 ]
1238+ result[1 ][l,i] = result[1 ][l,i] + (ev3[k][n+ 1 - j+ 1 ])* gJS[distance+ k,1 ]
12411239 # println("$(result[j+1][l,i]) in $(j+1) && $(result[1][l,i]) in $(1)")
12421240 end
12431241 else
@@ -1253,13 +1251,13 @@ function computeRuvS012(V,S,f,pseudoInverseMat,Ruvs,explookup,params)
12531251 l = get (explookup,temp,- 1 )
12541252 # result[j+1][l,i] = gJS[Int((j-1)*(length(gJS)/(n+1))+1):Int(j*(length(gJS)/(n+1))),:][k]
12551253 # 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]
1256- result[j+ 1 ][l,i] = result[j+ 1 ][l,i] + gJS[distance+ k- 1 ,1 ]
1257- result[1 ][l,i] = result[1 ][l,i] + (ev4[k][n+ 1 - j+ 1 ])* gJS[distance+ k- 1 ,1 ] + gJS[distance+ k- 1 ,1 ]
1254+ result[j+ 1 ][l,i] = result[j+ 1 ][l,i] + gJS[distance+ k,1 ]
1255+ result[1 ][l,i] = result[1 ][l,i] + (ev4[k][n+ 1 - j+ 1 ])* gJS[distance+ k,1 ] + gJS[distance+ k,1 ]
12581256 # println("$(result[j+1][l,i]) in $(j+1) && $(result[1][l,i]) in $(1)")
12591257 end
12601258 end
1259+ distance = distance + distances[n+ 1 - j+ 1 ]
12611260 end
1262- distance = distance + distances[n+ 1 - j+ 1 ]
12631261 end
12641262 get! (Ruvs, V, result)
12651263 return result
0 commit comments