Menu

#2 The generated `exp` function is wrong

v1.0 (example)
open
nobody
None
1
2014-07-09
2014-03-07
elyob
No

The exp function Gaigen 2.5 generates gives the wrong results in some very important cases. The formulas used in the code itself are simply wrong; it's not just something I messed up in the xml or implementation.

To give a specific example, I have multivectors with a basis given by t,x,y,z, and the metric given by t.t=-1 and x.x=y.y=z.z= 1. (This is Minkowski spacetime or the conformal plane.) But basically any time the result of exp should include the pseudovector t^x^y^z, it is not there, and all the coefficients are wrong. For example, the following equation is correct

exp(1.2*(x^y) + 3.4*(t^z)) = 5.435 + 13.98*(x^y) + 5.423*(t^z) + 13.95*(t^x^y^z)

This can be calculated using the series expansion of exp, or we can use the fact that x^y and t^z commute to decompose it as

exp(1.2*(x^y) + 3.4*(t^z)) = exp(1.2*(x^y)) * exp(3.4*(t^z))

Now, Gaigen 2.5 produces the correct results for the expression on the right-hand side above, but it does not produce the correct result for the left-hand side.

The problem lies in the logic in the exp function that uses norm2_returns_scalar; that norm is not the appropriate quantity to use whenever the pseudovector can appear because the pseudovector does not behave as desired under reversal.

Discussion


Log in to post a comment.