> When I enter in GAviewver simple expession as a=x*e1 + y*e2 the return
> is 0! You say that it is easy to implement symbolic computation but
> no GA (free) tools implement this today. How you may work on real
> physical problems using only constants? The programming of the nabla
> function in EVA is about 10 lines, without any particular programming
> skill.
I suppose easy is relative. In a few evenings after work I coded up
my symbolic calculator (the source for which is freely available) and
was able to do what I wanted with it (which in my case was producing
latex output), with source code that isn't too hard to use IMO.
Example:
void sphericalPolar2()
{
// half angles.
term Ct("C_\\theta") ;
term St("S_\\theta") ;
term Cp("C_\\phi") ;
term Sp("S_\\phi") ;
symbol scalarRtheta( Ct, 1 ) ;
symbol bivectorRtheta( St, _bivector( e1 ^ e2 ) ) ;
symbol scalarRphi( Cp, 1 ) ;
symbol bivectorRphi( Sp, _bivector( e1 ^ e3 ) ) ;
sum Rtheta(scalarRtheta) ; Rtheta += bivectorRtheta ;
sum Rphi(scalarRphi) ; Rphi += bivectorRphi ;
sum R(Rphi) ; //R *= Rtheta ;
sum rR = R.reverse() ;
sum rcap(rR) ; rcap *= symbol( e1 ) ; rcap *= R ;
sum thetacap(rR) ; thetacap *= symbol( e2 ) ; thetacap *= R ;
sum phicap(rR) ; phicap *= symbol( e3 ) ; phicap *= R ;
printIt( "\\rcap &=", rcap ) ;
printIt( "\\thetacap &=", thetacap ) ;
printIt( "\\phicap &=", phicap ) ;
}
This particular example was the application of spherical polar rotors
to a set of unit vectors. As a hobbist math dabbler who can't justify
the expense of fancy stuff like mathematica or maple this did the job,
and as a programmer C++ code was user friendly enough. I recall that
there was a more fully functional GNU symbolic calculation package
available, but without GA support. The symbolic complexity reduction
problems are tricky (trig reductions, expression factorization, ...)
and to do this right one ought to build on something that can already
do the basics.
Peeter