I guess sympy does not know that INC is real and sin(INC) > 0. I just tried:
INC = sm.symbols(‘INC’, real=True) test = sympy.Abs(sympy.sin(INC)) / sympy.sqrt(sympy.sin**2(INC)) test = 1 was the result, as expected From: 'Conrad Schiff' via sympy <[email protected]> Sent: Tuesday, January 21, 2025 2:57 PM To: [email protected] Subject: [sympy] trigsimp, assumptions, and vector magnitudes 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] <mailto:[email protected]> . To view this discussion visit https://groups.google.com/d/msgid/sympy/CH3PR12MB943223CD74108121BFEDA1D9CFE62%40CH3PR12MB9432.namprd12.prod.outlook.com <https://groups.google.com/d/msgid/sympy/CH3PR12MB943223CD74108121BFEDA1D9CFE62%40CH3PR12MB9432.namprd12.prod.outlook.com?utm_medium=email&utm_source=footer> . -- 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/000d01db6c12%2440243f10%24c06cbd30%24%40gmail.com.
