§
    OŠtjÏ(  ã                   óÄ  — d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZmZmZ d dl	mZmZmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZmZ  ed¦  «        \  ZZZ Z!Z" ed¦  «        Z#e# $                    dd	ee#j%        g¦  «        Z&e& $                    d
d	ee&j'        g¦  «        Z(e( $                    dd	e e(j)        g¦  «        Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5dS )é    )ÚsinÚcosÚtanÚpiÚsymbolsÚMatrixÚSÚFunction)ÚParticleÚPointÚReferenceFrameÚ	RigidBody)	Úangular_momentumÚdynamicsymbolsÚkinetic_energyÚlinear_momentumÚouterÚpotential_energyÚmsubsÚfind_dynamicsymbolsÚ
Lagrangian)Úcenter_of_massÚ_validate_coordinatesÚ_parse_linear_solver)ÚraisesÚwarns_deprecated_sympyzq1 q2 q3 q4 q5ÚNÚAÚAxisÚBÚCc                  ó   ‡‡‡— t          d¦  «        Št          d¦  «        } |                      ‰d‰j        z  ¦  «         t	          ‰j        ‰j        ¦  «        }t          d| ‰d|| f¦  «        Št          d¦  «        }t          d|d¦  «        Š‰j                             ‰d	‰j        z  ¦  «         t          t          ˆˆfd
„¦  «         t          t          ˆˆfd„¦  «         t          ‰‰‰¦  «        d	‰j        z  d‰j        z  z   k    sJ ‚d S )Nr   ÚAcé   r   é   ÚPÚPaé   é
   c                  ó&   •— t          ‰ ‰ ‰¦  «        S ©N©r   ©r   r'   s   €€új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/mechanics/tests/test_functions.pyú<lambda>z&test_linear_momentum.<locals>.<lambda>   ó   ø€ �o¨a°°BÑ7Ô7€ ó    c                  ó&   •— t          ‰ ‰ ‰¦  «        S r+   r,   ©r   r'   s   €€r.   r/   z&test_linear_momentum.<locals>.<lambda>   r0   r1   iô  )r   r   Úset_velÚyr   Úxr   r   Úpointr   Ú	TypeErrorr   )r#   ÚIr&   r   r   r'   s      @@@r.   Útest_linear_momentumr:      s	  øøø€ Ý�sÑÔ€AÝ	ˆt‰Œ€BØ‡J‚Jˆq�"�q”s‘(ÑÔÐÝˆaŒc�1”3‰Œ€AÝ�#�r˜1˜b 1 b 'Ñ*Ô*€AÝˆc‰
Œ
€AÝ	�$˜˜1Ñ	Ô	€BØ„H×Ò�Q˜˜QœS™Ñ!Ô!Ð!Ý
�9Ð7Ð7Ð7Ð7Ð7Ñ8Ô8Ð8Ý
�9Ð7Ð7Ð7Ð7Ð7Ñ8Ô8Ð8Ý˜1˜a Ñ$Ô$¨¨Q¬S©°3¸¼±9Ñ(<Ò<Ð<Ð<Ð<Ð<Ð<r1   c                  ó  ‡	‡
‡‡— t          d¦  «        \  } }}}t          d¦  «        }t          d¦  «        Š
t          d¦  «        }t          d¦  «        Š‰                     d|‰
j        z  ¦  «        }|                     d|‰
j        z  ¦  «        }‰                     ‰
d‰
j        z  ¦  «         |                     ‰
|‰
j        z  ¦  «         | 	                    ‰‰
|¦  «         | 	                    ‰‰
|¦  «         t          d	|| ¦  «        Št          d
||||t          ‰
j        ‰
j        ¦  «        z  |f¦  «        Š	d| z  |z  |z  ‰
j        z  ||z  |z  ‰
j        z  z   }t          ‰
‰	‰¦  «        |k    sJ ‚t          t           ˆ	ˆ
ˆfd„¦  «         t          t           ˆ	ˆˆfd„¦  «         t          t           ˆ
ˆˆfd„¦  «         |||dz  z  z   d| z  |dz  z  z   |z  ‰
j        z  }t#          ‰‰
‰	‰¦  «        |k    sJ ‚dS )a   A rod with length 2l, centroidal inertia I, and mass M along with a
    particle of mass m fixed to the end of the rod rotate with an angular rate
    of omega about point O which is fixed to the non-particle end of the rod.
    The rod's reference frame is A and the inertial frame is N.z
m, M, l, IÚomegar   ÚaÚOr#   r&   r   r'   r   é   c                  ó(   •— t          ‰‰‰ ‰¦  «        S r+   ©r   )r   r   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>7   ó   ø€ Õ.¨q°!°Q¸Ñ;Ô;€ r1   c                  ó(   •— t          ‰‰‰ ‰¦  «        S r+   rA   )r   r>   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>8   rB   r1   c                  ó(   •— t          ‰‰ ‰‰¦  «        S r+   rA   )r   r>   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>9   rB   r1   é   N)r   r   r   r   Ú	locatenewr6   r4   Úset_ang_velÚzÚv2pt_theoryr   r   r   r5   r   r   r8   r   )ÚmÚMÚlr9   r<   r=   r#   r&   Úexpectedr   r   r>   r'   s            @@@@r.   Ú)test_angular_momentum_and_linear_momentumrN   #   s  øøøø€ õ
 ˜Ñ&Ô&�J€A€qˆ!ˆQÝ˜7Ñ#Ô#€EÝ�sÑÔ€AÝ�sÑÔ€AÝˆc‰
Œ
€AØ	
�Š�T˜1˜qœs™7Ñ	#Ô	#€BØ
�Š�S˜!˜aœc™'Ñ"Ô"€AØ‡I‚Iˆa��Q”S‘ÑÔÐØ‡M‚M�!�U˜QœS‘[Ñ!Ô!Ð!Ø‡N‚N�1�a˜ÑÔÐØ‡M‚M�!�Q˜ÑÔÐÝ	�$˜˜1Ñ	Ô	€BÝ�#�r˜1˜a !¥e¨A¬C°´¡o¤oÑ"5°rÐ!:Ñ;Ô;€AØ�1‰u�u‰}˜qÑ  1¤3Ñ&¨¨Q©°©¸¼Ñ)<Ñ<€HÝ˜1˜a Ñ$Ô$¨Ò0Ð0Ð0Ð0Ý
�9Ð;Ð;Ð;Ð;Ð;Ð;Ñ<Ô<Ð<Ý
�9Ð;Ð;Ð;Ð;Ð;Ð;Ñ<Ô<Ð<Ý
�9Ð;Ð;Ð;Ð;Ð;Ð;Ñ<Ô<Ð<Ø�A˜˜1™‘H‘˜q 1™u q¨!¡t™|Ñ+¨uÑ4°q´sÑ:€HÝ˜A˜q ! RÑ(Ô(¨HÒ4Ð4Ð4Ð4Ð4Ð4r1   c                  ó†  ‡	‡
‡— t          d¦  «        \  } }}t          d¦  «        }t          d¦  «        Š
t          d¦  «        }|                     ‰
d‰
j        z  ¦  «         |                     d|‰
j        z  ¦  «        }|                     d|‰
j        z  ¦  «        }t          d¦  «        }|                     ‰
|‰
j        z  ¦  «         | 	                    |‰
|¦  «         | 	                    |‰
|¦  «         t          d	|| ¦  «        Št          ‰
j        ‰
j        ¦  «        }t          d
|||||f¦  «        Š	t          t          ˆ	ˆfd„¦  «         t          t          ˆ	ˆ
fd„¦  «         dt          ‰
‰‰	¦  «        ||dz  z  |dz  z  dz  d|dz  z  | z  |dz  z  z   |dz  dz  z   z
                       ¦   «         k    sJ ‚d S )Nzm M l1r<   r   r>   r   r#   r&   r=   r'   r   c                  ó&   •— t          ‰‰‰ ¦  «        S r+   ©r   r-   s   €€r.   r/   z%test_kinetic_energy.<locals>.<lambda>M   s   ø€ �n¨R°°QÑ7Ô7€ r1   c                  ó&   •— t          ‰‰‰ ¦  «        S r+   rQ   )r   r   s   €€r.   r/   z%test_kinetic_energy.<locals>.<lambda>N   s   ø€ �n¨Q°°1Ñ5Ô5€ r1   r?   )r   r   r   r   r4   r6   rF   rG   rH   rI   r   r   r   r   r8   r   Úexpand)rJ   rK   Úl1r<   r>   r#   r&   r=   r9   r   r   r'   s            @@@r.   Útest_kinetic_energyrU   >   sÓ  øøø€ Ý�xÑ Ô �H€A€qˆ"Ý˜7Ñ#Ô#€EÝ�sÑÔ€AÝˆc‰
Œ
€AØ‡I‚Iˆa��Q”S‘ÑÔÐØ	
�Š�T˜2 ¤™8Ñ	$Ô	$€BØ
�Š�S˜"˜qœs™(Ñ#Ô#€AÝ�sÑÔ€AØ‡M‚M�!�U˜QœS‘[Ñ!Ô!Ð!Ø‡N‚N�1�a˜ÑÔÐØ‡M‚M�!�Q˜ÑÔÐÝ	�$˜˜1Ñ	Ô	€BÝˆaŒc�1”3‰Œ€AÝ�#�r˜1˜a ! R Ñ)Ô)€AÝ
�9Ð7Ð7Ð7Ð7Ð7Ñ8Ô8Ð8Ý
�9Ð5Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ø•  2 qÑ)Ô)¨Q¨r°1©u©W°U¸A±XÑ-=¸aÑ-?Ø��A‘‰g�a‰i˜˜q™Ñ ñ.!Ø#(¨!¡8¨A¡:ñ..ñ /ß06²±´ò9ð 9ð 9ð 9ð 9ð 9r1   c                  óô  — t          d¦  «        \  } }}}}}t          d¦  «        }t          d¦  «        }t          d¦  «        }|                     |d|j        z  ¦  «         |                     d||j        z  ¦  «        }	|	                     d||j        z  ¦  «        }
t          d¦  «        }|                     |||j        z  ¦  «         |	 	                    |||¦  «         |
 	                    |||¦  «         t          d	|
| ¦  «        }t          |j        |j        ¦  «        }t          d
|	||||	f¦  «        }| |z  |z  |_        ||z  |z  |_        t          ||¦  «        | |z  |z  ||z  |z  z   k    sJ ‚d S )Nzm M l1 g h Hr<   r   r>   r   r#   r&   r=   r'   r   )r   r   r   r   r4   r6   rF   rG   rH   rI   r   r   r   r   )rJ   rK   rT   ÚgÚhÚHr<   r   r>   r#   r&   r=   r'   r9   r   s                  r.   Útest_potential_energyrZ   S   sq  € Ý Ñ/Ô/Ñ€A€qˆ"ˆa��AÝ˜7Ñ#Ô#€EÝ�sÑÔ€AÝˆc‰
Œ
€AØ‡I‚Iˆa��Q”S‘ÑÔÐØ	
�Š�T˜2 ¤™8Ñ	$Ô	$€BØ
�Š�S˜"˜qœs™(Ñ#Ô#€AÝ�sÑÔ€AØ‡M‚M�!�U˜QœS‘[Ñ!Ô!Ð!Ø‡N‚N�1�a˜ÑÔÐØ‡M‚M�!�Q˜ÑÔÐÝ	�$˜˜1Ñ	Ô	€BÝˆaŒc�1”3‰Œ€AÝ�#�r˜1˜a ! R Ñ)Ô)€AØ˜a™% !™)€BÔØ˜Q™ ™€AÔÝ˜A˜rÑ"Ô" a¨!¡e¨a¡i°!°a±%¸!±)Ñ&;Ò;Ð;Ð;Ð;Ð;Ð;r1   c                  ó  ‡	‡
‡— t          d¦  «        \  } }}}t          d¦  «        Š
t          d¦  «        }|                     ‰
d‰
j        z  ¦  «         |                     dd‰
j        z  ¦  «        }|                     ‰
d‰
j        z  ¦  «         t          d|d¦  «        Š|                     d	d
‰
j        z  ¦  «        }|                     ‰
d‰
j        z  ¦  «         t          d¦  «        }|                     ‰
d‰
j	        z  ¦  «         t          ‰
j	        ‰
j	        ¦  «        }t          d||d||f¦  «        Š	||z  |z  ‰_        | |z  |z  ‰	_        t          t          ˆ	ˆfd„¦  «         t          t          ˆ
ˆfd„¦  «         d S )NzM m g hr   r>   r   r&   r(   r)   r'   r#   r?   é   r=   r   r%   c                  ó&   •— t          ‰ ‰ ‰¦  «        S r+   ©r   r-   s   €€r.   r/   z!test_Lagrangian.<locals>.<lambda>w   ó   ø€ �j¨¨A¨rÑ2Ô2€ r1   c                  ó&   •— t          ‰ ‰ ‰¦  «        S r+   r^   r3   s   €€r.   r/   z!test_Lagrangian.<locals>.<lambda>x   r_   r1   )r   r   r   r4   r6   rF   r   r5   rG   rH   r   r   r   r   r8   )rK   rJ   rW   rX   r>   r&   r#   r=   r9   r   r   r'   s            @@@r.   Útest_Lagrangianra   g   st  øøø€ Ý˜Ñ#Ô#�J€A€qˆ!ˆQÝ�sÑÔ€AÝˆc‰
Œ
€AØ‡I‚Iˆa��Q”S‘ÑÔÐØ	�Š�C˜˜QœS™Ñ!Ô!€AØ‡I‚Iˆa��a”c‘ÑÔÐÝ	�$˜˜1Ñ	Ô	€BØ	
�Š�T˜1˜qœs™7Ñ	#Ô	#€BØ‡J‚Jˆq�!�a”c‘'ÑÔÐÝ�sÑÔ€AØ‡M‚M�!�R˜!œ#‘XÑÔÐÝˆaŒc�1”3‰Œ€AÝ�#�r˜1˜b 1 b 'Ñ*Ô*€AØ˜a™% !™)€BÔØ˜Q™ ™€AÔÝ
�9Ð2Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý
�9Ð2Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3Ð3r1   c            	      ód  — t          d¦  «        \  } }t          d¦  «        \  }}}t          | |z  |z   ||                     ¦   «         z  |z   g|                     ¦   «                              ¦   «         |t	          |                     ¦   «         ¦  «        z   gg¦  «        }t          | |z   |g|                     ¦   «                              ¦   «         dgg¦  «        }|d|d|                     ¦   «         d|                     ¦   «         di}t          ||¦  «        |k    sJ ‚t          ||z   ¦  «        t          ||z   ¦  «        z  ||                     ¦   «         z  z   }|d|t          dz  |                     ¦   «         di}t          ||d¬¦  «        |dz   k    sJ ‚t          d¦  «        }||j
        z  ||j        z  z   }	||j
        |j
        z  z  ||j        |j        z  z  z   }
d|j        z  }d|j        |j        z  z  }|d|di}t          |	|¦  «        |k    sJ ‚t          |
|¦  «        |k    sJ ‚d S )	Núa, búx, y, zr(   r   r?   T)Úsmartr   )r   r   r   Údiffr   r   r   r   r   r   r6   r5   )r=   Úbr6   r5   rH   ÚexprÚsolÚsdr   ÚvÚdÚv_solÚd_sols                r.   Ú
test_msubsro   {   s  € Ý�6‰?Œ?�D€A€qÝ˜YÑ'Ô'�G€A€qˆ!å�A�a‘C˜!‘G˜Q˜qŸvšv™xœx™Z¨!™^Ð,Ø—F’F‘H”H—M’M‘O”O Q­¨Q¯VªV©X¬X©¬Ñ%6Ð7ð9ñ :ô :€Då
�1�q‘5˜!�*Ø—6’6‘8”8—=’=‘?”? AÐ&ð(ñ )ô )€Cà
ˆQ��1�a—f’f‘h”h  1§6¢6¡8¤8¨QÐ	/€BÝ��r‰?Œ?˜cÒ!Ð!Ð!Ð!åˆq�1‰u‰:Œ:•c˜!˜a™%‘j”jÑ  1 Q§V¢V¡X¤X¡:Ñ-€DØ
ˆQ�•2�a‘4˜Ÿš™œ 1Ð	%€BÝ��r Ð&Ñ&Ô&¨!¨a©%Ò/Ð/Ð/Ð/Ý�sÑÔ€AØ	ˆ!Œ#‰��!”#‘‰€AØ	ˆ1Œ3ˆqŒs‰7‰�a˜œ˜QœS™‘kÑ!€AØˆaŒc‰E€EØˆqŒs�1”3‰w‰K€EØ
ˆQ��1ˆ€BÝ��B‰<Œ<˜5Ò Ð Ð Ð Ý��B‰<Œ<˜5Ò Ð Ð Ð Ð Ð r1   c            	      óÌ  ‡— t          d¦  «        \  } }t          d¦  «        \  }}}t          | |z  |z   ||                     ¦   «         z  |z   g|                     ¦   «                              ¦   «         |t	          |                     ¦   «         ¦  «        z   gg¦  «        }||                     ¦   «         ||                     ¦   «                              ¦   «         ||                     ¦   «         h}t          |¦  «        |k    sJ ‚|||g}|                     ¦   «         |                     ¦   «                              ¦   «         |                     ¦   «         h}t          ||¬¦  «        |k    sJ ‚t          d¦  «        \  }}	}
t          d¦  «        }||j        z  |	|j        z  z   |
|j	        z  z   Š||	|
h}t          ‰|¬¦  «        |k    sJ ‚t          t          ˆfd„¦  «         d S )Nrc   rd   )Úexcludezd, e, fr   )Úreference_framec                  ó"   •— t          ‰ ¦  «        S r+   )r   )rk   s   €r.   r/   z*test_find_dynamicsymbols.<locals>.<lambda>¦   s   ø€ Õ2°1Ñ5Ô5€ r1   )r   r   r   rf   r   r   r   r6   r5   rH   r   Ú
ValueError)r=   rg   r6   r5   rH   rh   ri   Úexclude_listrl   ÚeÚfr   rk   s               @r.   Útest_find_dynamicsymbolsrx   “   s¯  ø€ Ý�6‰?Œ?�D€A€qÝ˜YÑ'Ô'�G€A€qˆ!Ý�A�a‘C˜!‘G˜Q˜qŸvšv™xœx™Z¨!™^Ð,Ø—F’F‘H”H—M’M‘O”O Q­¨Q¯VªV©X¬X©¬Ñ%6Ð7ð9ñ :ô :€Dð ˆa�fŠf‰hŒh˜˜1Ÿ6š6™8œ8Ÿ=š=™?œ?¨A¨q¯vªv©x¬xÐ
8€CÝ˜tÑ$Ô$¨Ò+Ð+Ð+Ð+à�q˜!�9€LØ�6Š6‰8Œ8�Q—V’V‘X”X—]’]‘_”_ a§f¢f¡h¤hÐ
/€CÝ˜t¨\Ð:Ñ:Ô:¸cÒAÐAÐAÐAå˜YÑ'Ô'�G€A€qˆ!Ý�sÑÔ€AØ	ˆAŒC‰�!�a”c‘'Ñ˜A ¤™GÑ#€AØˆa�ˆ)€CÝ˜q°!Ð4Ñ4Ô4¸Ò;Ð;Ð;Ð;å
�:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ð6Ð6r1   c                  óÄ  — t          d¦  «        } t          dd¬¦  «        }t          dt          d¦  «        t          j        ¦  «        }t          dt          d¦  «        t	          d	¦  «        ¦  «        }t          d
t          d¦  «        t	          d¦  «        ¦  «        }t          dt          d¦  «        |¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d|||t          |j        |j        ¦  «        |f¦  «        }	|j	         
                    |j	        | j        ¦  «         |j	         
                    |j	        | j        | j        z   ¦  «         |j	         
                    |j	        | j        ¦  «         |	j         
                    |j	        | j        | j        z   ¦  «         t          d¦  «        }
|
 
                    |j	        t          |j	        |||||	¦  «        ¦  «         d||z   dz   z  | j        z  ||z   dz   ||z   dz   z  | j        z  z   |||z   dz   z  | j        z  z   }|
                     |j	        ¦  «        |z
  dk    sJ ‚d S )Nr=   rJ   T)ÚrealÚp1Úp1_ptÚp2Úp2_ptr?   Úp3Úp3_pté   Úp4Úp4_ptÚb_fÚb_cmÚmbrg   Úor\   é   r   )r   r   r   r   r	   ÚOner   r   r6   r7   Úset_posr5   Ú
masscenterrH   r   Úpos_from)r=   rJ   r{   r}   r   r‚   r„   r…   r†   rg   Úpoint_orh   s               r.   Útest_center_of_massrŽ   ¬   s  € Ý�sÑÔ€AÝ�˜$ÐÑÔ€AÝ	�$�˜g™œ­¬Ñ	.Ô	.€BÝ	�$�˜g™œ­¨!©¬Ñ	-Ô	-€BÝ	�$�˜g™œ­¨!©¬Ñ	-Ô	-€BÝ	�$�˜g™œ¨Ñ	*Ô	*€BÝ
˜Ñ
Ô
€CÝ�‰=Œ=€DÝ	�‰Œ€BÝ�#�t˜S "¥u¨S¬U°C´EÑ':Ô':¸DÐ&AÑBÔB€AØ„H×Ò�R”X˜qœsÑ#Ô#Ð#Ø„H×Ò�R”X˜qœs Q¤S™yÑ)Ô)Ð)Ø„H×Ò�R”X˜qœsÑ#Ô#Ð#Ø„L×Ò˜œ 1¤3¨¬¡9Ñ-Ô-Ð-Ý�#‰JŒJ€GØ‡O‚O�B”H�n¨R¬X°r¸2¸rÀ2ÀqÑIÔIÑJÔJÐJØˆa�"‰f�q‰j‰>˜!œ#Ñ  R¡¨!¡¨a°"©f°q©jÑ 9¸!¼#Ñ =Ñ=ÀÀAÈÁFÈQÁJÁÐPQÔPSÑ@SÑS€DØ×Ò˜BœHÑ%Ô% dÑ*¨aÒ/Ð/Ð/Ð/Ð/Ð/r1   c                  ón  ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡‡— t          d¦  «        \	  ŠŠŠŠ
ŠŠŠŠŠt          d¦  «        \  ŠŠŠt          ‰‰‰g‰
‰‰g‰‰‰g¬¦  «         t          ‰‰g¦  «         t          ‰‰g‰
g¦  «         t          ‰
‰g¬¦  «         t          ‰‰‰g‰
‰‰gd¬¦  «         t          t          ˆˆˆ
ˆˆfd„¦  «         t          ‰‰‰g‰
‰‰gd¬¦  «         t          t          ˆˆˆˆ
ˆfd„¦  «         t          t          ˆˆˆˆˆfd	„¦  «         t          ‰‰‰g‰
‰‰gd‰
‰‰g¬
¦  «         t          t          ˆˆˆˆ
ˆˆˆˆfd„¦  «         t          t          ˆˆˆˆ
ˆˆˆˆfd„¦  «         t          t          ˆˆˆˆ
ˆˆˆˆfd„¦  «         t          ‰‰z   ‰gd¬¦  «         t          t          ˆˆˆfd„¦  «         t          ‰‰‰gd‰
‰gd¬¦  «         t          t          ˆˆˆˆ
ˆfd„¦  «         t          ‰‰z   ‰z   ‰gd‰
gd¬¦  «         t          t          ˆˆˆˆˆ
fd„¦  «         t          ‰‰gd¬¦  «         t          t          ˆˆfd„¦  «         t           j        Š	t          d¦  «        Š t          dt          ¬¦  «        \  ŠŠt           ‰‰ ¦  «         ‰‰ ¦  «        gd¬¦  «         t          t          ˆ ˆˆfd„¦  «         t          t          ˆ ˆˆfd„¦  «         ‰ t           _        t           ‰‰ ¦  «         ‰‰ ¦  «        g¦  «         t          t          ˆˆˆ	fd„¦  «         ‰	t           _        d S )Nzq1:4 u1:4 ua1:4zs1:4©Úu_auxiliary©ÚspeedsF©Úcheck_duplicatesc                  ó0   •— t          ‰ ‰‰g‰‰‰g¦  «        S r+   ©r   )Úq1Úq2Úu1Úu2Úu3s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Í   s#   ø€ Õ4Ø	ˆR�ˆ�r˜2˜r�lñ $ô  $€ r1   c                  ó4   •— t          ‰ ‰‰g‰‰‰gd¬¦  «        S ©NTr”   r—   )r˜   r™   Úq3rš   r›   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ð   ó*   ø€ Õ4Ø	ˆR�ˆ�r˜2˜r�l°Tð ;ñ  ;ô  ;€ r1   c                  ó4   •— t          ‰ ‰‰g‰ ‰‰gd¬¦  «        S rž   r—   )r˜   r™   rŸ   r›   rœ   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ò   r    r1   )r•   r‘   c                  ó:   •— t          ‰ ‰‰g‰‰‰g‰‰‰g¬¦  «        S ©Nr�   r—   ©r˜   r™   rŸ   rš   r›   rœ   Úua2Úua3s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ö   ó3   ø€ Õ4Ø	ˆR�ˆ�r˜2˜r�l°°S¸#°ð @ñ  @ô  @€ r1   c                  ó:   •— t          ‰ ‰‰g‰‰‰g‰ ‰‰g¬¦  «        S r£   r—   r¤   s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ø   r§   r1   c                  ó:   •— t          ‰ ‰‰g‰‰‰g‰‰‰g¬¦  «        S r£   r—   )r˜   r™   rŸ   rš   r›   rœ   Úua1r¥   s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ú   s3   ø€ Õ4Ø	ˆR�ˆ�r˜2˜r�l°°c¸3°ð Añ  Aô  A€ r1   ©Úis_dynamicsymbolsc                  ó,   •— t          ‰ ‰z   ‰g¦  «        S r+   r—   )r˜   r™   rŸ   s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Þ   s   ø€ Õ4°b¸2±g¸r°]ÑCÔC€ r1   r   c                  ó4   •— t          ‰‰ ‰gd‰‰gd¬¦  «        S ©Nr   Tr«   r—   )r˜   r™   Ús1rš   r›   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>à   s*   ø€ Õ4Ø	ˆR�ˆ�q˜"˜b�k°Tð ;ñ  ;ô  ;€ r1   c                  ó<   •— t          ‰‰z   ‰z   ‰ gd‰gd¬¦  «        S r¯   r—   )r˜   r°   Ús2Ús3rš   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ã   s/   ø€ Õ4Ø	ˆb‰�2‰�rÐ˜Q ˜G°tð =ñ  =ô  =€ r1   )r‘   r¬   c                  ó(   •— t          ‰ ‰g¬¦  «        S r£   r—   )r°   rª   s   €€r.   r/   z+test_validate_coordinates.<locals>.<lambda>æ   s   ø€ Õ4À"ÀcÀÐKÑKÔK€ r1   r=   zf1:3)Úclsc                  óJ   •— t           ‰‰ ¦  «         ‰‰ ¦  «        g¦  «        S r+   r—   ©r=   Úf1Úf2s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ì   ó$   ø€ Õ4°b°b¸±e´e¸R¸RÀ¹U¼U°^ÑDÔD€ r1   c                  óL   •— t           ‰‰ ¦  «         ‰‰ ¦  «        g¬¦  «        S )Nr’   r—   r·   s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>í   s'   ø€ Õ4¸R¸RÀ¹U¼UÀBÀBÀqÁEÄE¸NÐKÑKÔK€ r1   c                  óJ   •— t           ‰ ‰¦  «         ‰‰¦  «        g¦  «        S r+   r—   )r¸   r¹   Úts   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ð   rº   r1   )r   r   r   r   rt   Ú_tr
   )r=   r¸   r¹   r˜   r™   rŸ   r°   r²   r³   r½   rš   r›   rœ   rª   r¥   r¦   s   @@@@@@@@@@@@@@@@r.   Útest_validate_coordinatesr¿   Á   sþ  øøøøøøøøøøøøøøøø€ Ý,:Ð;LÑ,MÔ,MÑ)€BˆˆB��B˜˜C  cÝ˜‘”�J€BˆˆBå˜2˜r 2˜,¨¨R°¨Ø'*¨C° oð7ñ 7ô 7ð 7õ ˜2˜r˜(Ñ#Ô#Ð#Ý˜2˜r˜( R DÑ)Ô)Ð)Ý " b Ð*Ñ*Ô*Ð*å˜2˜r 2˜,¨¨R°¨ÀuÐMÑMÔMÐMÝ
�:ð $ð $ð $ð $ð $ð $ð $ð $ñ %ô %ð %å˜2˜r 2˜,¨¨R°¨ÀuÐMÑMÔMÐMÝ
�:ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ñ <ô <ð <å
�:ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ñ <ô <ð <å˜2˜r 2˜,¨¨R°¨ÀuØ')¨3° nð6ñ 6ô 6ð 6å
�:ð @ð @ð @ð @ð @ð @ð @ð @ð @ð @ð @ñ Aô Að Aå
�:ð @ð @ð @ð @ð @ð @ð @ð @ð @ð @ð @ñ Aô Að Aå
�:ð Að Að Að Að Að Að Að Að Að Að Añ Bô Bð Bõ ˜2 ™7 B˜-¸5ÐAÑAÔAÐAÝ
�:ÐCÐCÐCÐCÐCÐCÑDÔDÐDÝ˜2˜r 2˜,¨¨B°¨ÀuÐMÑMÔMÐMÝ
�:ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ñ <ô <ð <å˜2 ™7 R™<¨Ð,¨q°"¨gÈÐOÑOÔOÐOÝ
�:ð =ð =ð =ð =ð =ð =ð =ð =ñ >ô >ð >å r¨3 iÀ5ÐIÑIÔIÐIÝ
�:ÐKÐKÐKÐKÐKÑLÔLÐLåÔ€AÝ�‰Œ€AÝ�V¥Ð*Ñ*Ô*�F€BˆÝ˜2˜2˜a™5œ5 " " Q¡%¤%˜.¸EÐBÑBÔBÐBÝ
�:ÐDÐDÐDÐDÐDÐDÑEÔEÐEÝ
�:ÐKÐKÐKÐKÐKÐKÑLÔLÐLØ…NÔÝ˜2˜2˜a™5œ5 " " Q¡%¤%˜.Ñ)Ô)Ð)Ý
�:ÐDÐDÐDÐDÐDÐDÑEÔEÐEØ…NÔÐÐr1   c                  ó4  — t          ddt          d¦  «        ¦  «        t          ddt          d¦  «        ¦  «        }} t          t           j        ¦  «        t           j        k    sJ ‚ t          d¦  «        | |¦  «        t          j        | |¦  «        k    sJ ‚d S )Nr�   za:9r?   zb:6ÚLU)r   r   r   ÚLUsolve)r   rg   s     r.   Útest_parse_linear_solverrÃ   ô   s„   € Ý�!�Q� ™œÑ'Ô'­°°1µg¸e±n´nÑ)EÔ)E€q€AÝ¥¤Ñ/Ô/µ6´>ÒAÐAÐAÐAØ%Õ Ñ%Ô% a¨Ñ+Ô+­v¬~¸aÀÑ/CÔ/CÒCÐCÐCÐCÐCÐCr1   c                  ó
  — ddl m} m}m} t	          d¦  «        }t          ¦   «         5   | |dddd¦  «        |j        |j        z  |j        |j        z  z   |j        |j        z  z   k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5   |d|j        |j        z   |¦  «        |j        |j        z  |j        |j        z  z   d|j        |j        z  z  z   |j        |j        z  z
  |j        |j        z  z
  k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          d¦  «        }t          ¦   «         5   |d|j        z  |¦  «        |j
        d|j        z  |j        z  fgk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )ÚinertiaÚinertia_of_point_massÚgravityr   r(   r?   r&   éþÿÿÿ)Ú!sympy.physics.mechanics.functionsrÅ   rÆ   rÇ   r   r   r6   r5   rH   r   r‹   Úmass)rÅ   rÆ   rÇ   r   Úps        r.   Útest_deprecated_moved_functionsrÌ   ú   s¦  € ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1å�sÑÔ€AÝ	Ñ	!Ô	!ð Qð QØˆw�q˜!˜Q  1Ñ%Ô%¨!¬#°´©)¸¼¸a¼c¹	Ñ)BÀaÄcÈAÌCÁiÑ)PÒPÐPÐPÐPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qå	Ñ	!Ô	!ð 'ð 'Ø$Ð$ Q¨¬¨a¬c©	°1Ñ5Ô5ØŒS�1”3‰Y˜1œ3 ¤™9Ñ%¨¨Q¬S°1´3©Y©Ñ7ØŒS�1”3‰YñØœ3 ¤™9ñ&ò'ð 'ð 'ð 'ð 'ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'õ 	�‰Œ€AÝ	Ñ	!Ô	!ð Kð KØˆw�r˜AœC‘x Ñ#Ô#¨¬°r¸A¼F±{ÀQÄSÑ7HÐ(IÐ'JÒJÐJÐJÐJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks7   ¨AA8Á8A<Á?A<ÂA1DÄDÄDÄ73E8Å8E<Å?E<N)6Úsympyr   r   r   r   r   r   r	   r
   Úsympy.physics.mechanicsr   r   r   r   r   r   r   r   r   r   r   r   r   rÉ   r   r   r   Úsympy.testing.pytestr   r   r˜   r™   rŸ   Úq4Úq5r   Ú	orientnewrH   r   r6   r    r5   r!   r:   rN   rU   rZ   ra   ro   rx   rŽ   r¿   rÃ   rÌ   © r1   r.   ú<module>rÔ      sŠ  ðØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Að0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð
Að Að Að Að Að Að Að Að Að Aà ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ð �WÐ-Ñ.Ô.Ñ €€BˆˆB�Ø€N�3ÑÔ€Ø‡K‚K��V˜b !¤#˜YÑ'Ô'€Ø‡K‚K��V˜b !¤#˜YÑ'Ô'€Ø‡K‚K��V˜b !¤#˜YÑ'Ô'€ð=ð =ð =ð5ð 5ð 5ð69ð 9ð 9ð*<ð <ð <ð(4ð 4ð 4ð(!ð !ð !ð07ð 7ð 7ð20ð 0ð 0ð*0ð 0ð 0ðfDð Dð DðKð Kð Kð Kð Kr1   