During the evolution of my code I have ended up with numerous versions of similar files, each with minute differences to the next.
Is there a way to compare these worksheets?
I solve recursively a series of linear systems of ever increasing number of unknowns, proven to have a unique solution, each of which is expressed as a function of all the previous unknowns. So Y[i]=sum(c[i][j]*X[i][j],j=1..nops(X[i])), and most c[i][j]'s are nonzero.
I successfully used solve(Y[i],X[i]) and SolveTools[Linear](Y[i],X[i]) to get each Y[i] solution but, as i increases, the solution time increases exponentially.
For example, in my system (P4 2.66GHz, 2GB RAM) solving a system of 15 variables takes about 6 seconds, while one of 21 variables needs about 250 seconds!
Is this to be expected? I need to solve to about 40 variables this way but it doesn't seem possible with solution time increasing at this rate.
I want to apply the operator (x*d/dx+y*d/dy)^n to a function f(x,y) where n is a natural number.
Is there any way to do it? I could build a loop to construct the final result for a given n but I am looking for something more elegant..
My goal is to obtain a formula F:= x -> fa(x)*c1_1(x)+ fb(x)*c1_2(x)+fc(x)*c2_1(x)+... where every ci_j(x) is a function of x. fa, fb, fc are known functions of x. I do not need to have it printed, I just need it to return a numerical value for every value of x I throw in.
I have obtained the solutions of ci_j's in the form
Sol:=[c1_1=f11(x), c1_2=f12(x), c1_3=f13(x), ...], N1 terms
Sol:=[c2_1=f21(x,c1_j’), c2_2=f22(x,c1_j’), c2_3=f23(x,c1_j’), ...], N2 terms
Sol:=[c3_1=f31(x,c1_j’,c2_j’), c3_2=f32(x,c1_j’,c2_j’), c3_3=f33(x,c1_j’,c2_j’), ...], N3 terms
Sol:=[c4_1=f41(x,c1_j’,c2_j’,c3_j’), c4_2=f42(x,c1_j’,c2_j’,c3_j’), c4_3=f43(x,c1_j’,c2_j’,c3_j’), ...], N4 terms