I am writing a textbook on orbital mechanics and I would like to use sympy for
certain calculations (e.g., deriving expressions for certain vectors in terms
of Keplerian orbital elements) so that the readers realize the power of sympy.
I have a specific problem I am hoping this group could help me with as I am
also fairly new to sympy. Here is a minimum working example:
********************************
from sympy import *
A, INC = symbols('A INC')
zxh = Matrix([[-sin(A)*sin(INC)], [cos(A)*sin(INC)], [0]])
********************************
At this point, I want to unitize 'zxh' so that the sin(INC) divides
out. This is a legitimate step since the range of INC is restricted to 0
to \pi and the sin(INC) is always non-negative (I am ignoring the
singularities on the boundaries of 0 and \pi). I tried the following but I get
the errors below. Some help in coaxing sympy to do what I know can be done
would be appreciated.
********************************
mag2_zxh = trigsimp(zxh.dot(zxh))
-> gives sin**2(INC)
mag_zxh = sqrt(mag2_zxh)
-> gives sqrt(sin(INC)**2)
zxh/mag_zxh
-> gives Matrix([[-sin(A)*sin(INC)/sqrt(sin(INC)**2)],
[sin(INC)*cos(A)/sqrt(sin(INC)**2)], [0]])
********************************
How can I coax sympy into recognizing that "sin(INC)/sqrt(sin(INC)**2) = 1"?
Thanks for any help,
Conrad Schiff, PhD
Professor of Physics
Capitol Technology University
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/sympy/CH3PR12MB943223CD74108121BFEDA1D9CFE62%40CH3PR12MB9432.namprd12.prod.outlook.com.