William Hart on Mon, 26 Feb 2007 17:07:58 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Variable ordering |
I see one potential workaround to the problem I described in my post above, but it creates another problem, which leads me to think I am doing things the incorrect way in the first place. The problem seems to be that when doing something like W*Mod(u,u^2) Pari rearranges this and makes it Mod(u*W,u^2) or W*Mod(u,u^2) depending on the variable ordering in Pari. One of these expressions it understands to be a polynomial in W, the other it understands to be a PolMod. It will be interpreted differently depending on the variable order at the time one tries to operate on the expression. Originally I had a version of the toEllipticCurve function (now long gone) which worked fine, but when I added another function to my program, it stopped working. The reason was that I had used one of the variables u or W in that other function. Calling that function first changed the variable order globally in Pari and so the toEllipticCurve function stopped working. I tried making that variable a local variable in the other function, but this did nothing. This is also when I discovered that this sets the value of the variable to 0, which in some cases is not what you want. Note in the toEllipticCurve function I am using these variables as symbolic variables, not variables containing actual constants. So I guess what I can do is take the first component of the Mod which Pari calculates and operate on that (since Pari no longer sees the expression as a polynomial in W). But whether I do this or not depends on the current variable order, which depends on whether I accidentally use that same variable in another function in my program which gets called first. So the only solution is to use different variables in every single function, check how Pari has done the calculation at each point of the computation, then operate accordingly. So I guess, given that I now have a potential workaround, the question becomes, how *should* I have done this computation in the first place, to prevent this problem? Regards, Bill Hart. Warwick Uni. ____________________________________________________________________________________ Finding fabulous fares is fun. Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains. http://farechase.yahoo.com/promo-generic-14795097