Constantine Frangos
2007-11-24 12:10:53 UTC
It seems that the syntax of aldor is quite easier to use than the axiom
syntax (due to indenting, underscores, etc.)
I am interested in the possibility of using aldor as a standalone system
depending on how much symbolic computing capacity can be obtained.
I would appreciate it if someone could translate as much as possible of the
simple axiom function testkinemat1() below to an aldor program that can be
compiled (with say aldor -Fx -laldor testkinemat1.as) and run.
TIA
C. Frangos.
testkinemat1 ==
--)read expandsincos.input
Acon := matrix([[1 , 0 , Lo1*sin(phi) , -sin(phi)*a , 0 , 0 , 0 , 0 , 0],_
[0 , 1 , -Lo1*cos(phi) , a*cos(phi) , 0 , 0 , 0 , 0 , 0],_
[1 , 0 , -Lo1*sin(phi) , 0 , -a*sin(phi), 0 , 0 , 0 , 0],_
[0 , 1 , Lo1*cos(phi) , 0 , a*cos(phi) , 0 , 0 , 0 , 0],_
[1,0,-Lc*cos(phi)+Lo1*sin(phi),0,0,0,-a*sin(phi)*cos(delta3)_
-a*cos(phi)*sin(delta3),0,0],_
[0,1,-Lc*sin(phi)-Lo1*cos(phi),0,0,0,a*cos(phi)*cos(delta3)_
-a*sin(phi)*sin(delta3),0,0],_
[1,0,-Lc*cos(phi)-Lo1*sin(phi),0,0,(-2*sin(phi)*Lo1*sin(delta3)-sin(phi)*_
Lc*cos(delta3)-cos(phi)*Lc*sin(delta3))*a/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0
],_
[0,1,-Lc*sin(phi)+Lo1*cos(phi),0,0,a*(2*cos(phi)*Lo1*sin(delta3)+_
cos(phi)*Lc*cos(delta3)-sin(phi)*Lc*sin(delta3))/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0
],_ [0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , -k]])
pause()
Acon := map(simplify,Acon)
--)display value Acon
-- print('Acon = Acon)
print(Acon)
pause()
rankAcon := rank(Acon)
-- print('rankAcon = rankAcon)
print(rankAcon)
pause()
Acone := rowEchelon(Acon)
--)display value Acone
-- print('Acone = Acone)
print(Acone)
pause()
Aconnull := nullSpace(Acon)
--)display value Aconnull
-- print('Aconnull = Aconnull)
print(Aconnull)
pause()
Aconnullity := nullity(Acon)
--)display value Aconnullity
-- print('Aconnullity = Aconnullity)
print(Aconnullity)
pause == (READ_-LINE()$Lisp)
syntax (due to indenting, underscores, etc.)
I am interested in the possibility of using aldor as a standalone system
depending on how much symbolic computing capacity can be obtained.
I would appreciate it if someone could translate as much as possible of the
simple axiom function testkinemat1() below to an aldor program that can be
compiled (with say aldor -Fx -laldor testkinemat1.as) and run.
TIA
C. Frangos.
testkinemat1 ==
--)read expandsincos.input
Acon := matrix([[1 , 0 , Lo1*sin(phi) , -sin(phi)*a , 0 , 0 , 0 , 0 , 0],_
[0 , 1 , -Lo1*cos(phi) , a*cos(phi) , 0 , 0 , 0 , 0 , 0],_
[1 , 0 , -Lo1*sin(phi) , 0 , -a*sin(phi), 0 , 0 , 0 , 0],_
[0 , 1 , Lo1*cos(phi) , 0 , a*cos(phi) , 0 , 0 , 0 , 0],_
[1,0,-Lc*cos(phi)+Lo1*sin(phi),0,0,0,-a*sin(phi)*cos(delta3)_
-a*cos(phi)*sin(delta3),0,0],_
[0,1,-Lc*sin(phi)-Lo1*cos(phi),0,0,0,a*cos(phi)*cos(delta3)_
-a*sin(phi)*sin(delta3),0,0],_
[1,0,-Lc*cos(phi)-Lo1*sin(phi),0,0,(-2*sin(phi)*Lo1*sin(delta3)-sin(phi)*_
Lc*cos(delta3)-cos(phi)*Lc*sin(delta3))*a/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0
],_
[0,1,-Lc*sin(phi)+Lo1*cos(phi),0,0,a*(2*cos(phi)*Lo1*sin(delta3)+_
cos(phi)*Lc*cos(delta3)-sin(phi)*Lc*sin(delta3))/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0
],_ [0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , -k]])
pause()
Acon := map(simplify,Acon)
--)display value Acon
-- print('Acon = Acon)
print(Acon)
pause()
rankAcon := rank(Acon)
-- print('rankAcon = rankAcon)
print(rankAcon)
pause()
Acone := rowEchelon(Acon)
--)display value Acone
-- print('Acone = Acone)
print(Acone)
pause()
Aconnull := nullSpace(Acon)
--)display value Aconnull
-- print('Aconnull = Aconnull)
print(Aconnull)
pause()
Aconnullity := nullity(Acon)
--)display value Aconnullity
-- print('Aconnullity = Aconnullity)
print(Aconnullity)
pause == (READ_-LINE()$Lisp)