§
    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 d dlmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ ZdS )é    )ÚdynamicsymbolsÚReferenceFrameÚPointÚ	RigidBodyÚLagrangesMethodÚParticleÚinertiaÚ
Lagrangian)Ú
DerivativeÚFunction)Úpi)Úsymbols)ÚcosÚsinÚtan)ÚMatrix)Úsimplify)Úraisesc                  óX  ‡‡‡— t          d¦  «        \  } }}t          d¦  «        Št          d¦  «        t          d¦  «        }}|                     |d¦  «         t	          dt          d¦  «        |¦  «        Š‰j                             || t          ‰¦  «        |j        z  t          ‰¦  «        |j
        z  z
  z  ¦  «         ||z  ‰j                             |¦  «                             |j
        ¦  «        z  ‰_        t          |‰¦  «        Št          t           ˆˆˆfd„¦  «         d S )Núl m gÚqÚNÚOr   ÚPc                  ó*   •— t          ‰ ‰g‰¬¦  «        S )N©Úbodies)r   )ÚLr   r   s   €€€úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/mechanics/tests/test_lagrange.pyú<lambda>z*test_invalid_coordinates.<locals>.<lambda>   s   ø€ �¨q°1°#¸aÐ@Ñ@Ô@€ ó    )r   r   r   Úset_velr   ÚpointÚset_posr   Úxr   ÚyÚpos_fromÚdotÚpotential_energyr
   r   Ú
ValueError)ÚlÚmÚgr   r   r   r   r   s        @@@r   Útest_invalid_coordinatesr.      s   øøø€ å�gÑÔ�G€A€qˆ!Ý�‰Œ€AÝ˜#ÑÔ¥ c¡
¤
€q€AØ‡I‚Iˆa��O„O€OÝ�•e˜C‘j”j !Ñ$Ô$€AØ„G‡O‚O�A�q�C ™FœF Q¤S™L­3¨q©6¬6°A´C©<Ñ7Ñ8Ñ9Ô9Ð9Ø˜Q™ ¤×!1Ò!1°!Ñ!4Ô!4×!8Ò!8¸¼Ñ!=Ô!=Ñ=€AÔÝ�1�aÑÔ€AÝ
�:Ð@Ð@Ð@Ð@Ð@Ð@ÑAÔAÐAÐAÐAr!   c                  ó@  — t          d¦  «        \  } }t          dd¦  «        \  }}t          d¦  «        \  }}}}}t          d¦  «        }	|	                     ddt          dz  |z
  |	j        g¦  «        }
|
                     dd| |
j        g¦  «        }t          d	¦  «        }|                     |	||
j        z  ¦  «         ||dz  z  dz  |j        z  |j        z  }t          d
|||||f¦  «        }||z  || z
  z  t          |¦  «        z  |_        t          |	|¦  «        }| |g}| ||z  z
  g}t          |||¬¦  «        }|                     ¦   «          |                     ¦   «         }|                     ¦   «          |d         d|z  t          |¦  «        z  dz  k    sJ ‚d S )Nzy thetaé   zm g R l alphar   ÚAÚAxisé   ÚBÚDoÚD)Ú
hol_coneqsé   )r   r   r   Ú	orientnewr   Úzr   r"   r%   r   r   r)   r
   r   Úform_lagranges_equationsÚrhsr   )r&   ÚthetaÚydÚthetadr,   r-   ÚRr+   Úalphar   r1   r4   r5   ÚIr6   r   r   r7   r<   s                      r   Útest_disc_on_an_incline_planerC      s§  € õ ˜iÑ(Ô(�H€A€uÝ 	¨1Ñ-Ô-�J€BˆÝ Ñ0Ô0Ñ€A€qˆ!ˆQ�õ 	�sÑÔ€AØ	�Š�C˜¥" Q¡$¨¡,°´Ð!4Ñ5Ô5€AØ	�Š�C˜ 5 &¨!¬# Ñ/Ô/€Aõ
 
ˆt‰Œ€BØ‡J‚Jˆq�"�q”s‘(ÑÔÐØ	ˆAˆq‰D‰�‰
�Q”SÑ˜1œ3Ñ€AÝ�#�r˜1˜a ! R Ñ)Ô)€Að
 ˜Q™ ! a¡%™­3¨u©:¬:Ñ5€AÔÝ�1�aÑÔ€Að 
ˆEˆ
€AØ�a˜%‘i‘-�€JÝ˜˜1¨Ð4Ñ4Ô4€AØ×ÒÑ Ô Ð Ø
�%Š%‰'Œ'€CØ‡L‚L�N„N€NØˆqŒ6�Q�q‘S�˜U™œ‘^ AÑ%Ò%Ð%Ð%Ð%Ð%Ð%r!   c                  óô  — t          d¦  «        \  } }t          dd¦  «        \  }}t          d¦  «        \  }}}t          d¦  «        }|                     dd| |j        g¦  «        }|                     |||j        z  ¦  «         t          d¦  «        }	|	                     |d	¦  «         |	                     d
||j	        z  ¦  «        }
|
 
                    |	||¦  «         t          d|
|¦  «        }| |z  |z  t          | ¦  «        z  |_        t          ||¦  «        }t          || g¦  «        }|                     ¦   «          |                     ¦   «         }|d         | t%          | ¦  «        z  |z  k    sJ ‚d S )Nzq uzq u r0   r   r   r1   r2   r   r   r   ÚPa)r   r   r   r9   r:   Úset_ang_velr   r"   Ú	locatenewr%   Úv2pt_theoryr   r   r)   r
   r   r;   r<   r   )r   ÚuÚqdÚudr+   r,   r-   r   r1   r   r   rE   r   ÚlmÚRHSs                  r   Útest_simp_penrN   J   sh  € õ ˜%Ñ Ô �D€A€qÝ˜F AÑ&Ô&�F€BˆÝ�gÑÔ�G€A€qˆ!õ
 	�sÑÔ€AØ	�Š�C˜ ! Q¤S Ñ*Ô*€AØ‡M‚M�!�R˜!œ#‘XÑÔÐõ
 	ˆc‰
Œ
€AØ‡I‚Iˆa��O„O€OØ	�Š�C˜˜QœS™Ñ!Ô!€AØ‡M‚M�!�Q˜ÑÔÐõ 
�$˜˜1Ñ	Ô	€BØ˜# ™' A™+­¨A©¬Ñ.€BÔÝ�1�bÑÔ€Aõ 
˜˜Q˜CÑ	 Ô	 €BØ×ÒÑ!Ô!Ð!Ø
�&Š&‰(Œ(€CØˆqŒ6�a�R�˜A™œ‘Y˜q‘[Ò Ð Ð Ð Ð Ð r!   c            	      óV  — t          d¦  «        \  } }t          dd¬¦  «        \  }}t          d¦  «        \  }}}d}t          d¦  «        }t          d¦  «        }	|	                     |d¦  «         |	                     d	| |j        z  ||j        z  z   ¦  «        }
|
                     ||
                     |	¦  «         	                    |¦  «        ¦  «         t          d
|
|¦  «        }t          | dz  |dz  z   |dz  z
  g¦  «        }t          ||¦  «        }t          || |g||
||z  |j        z  fg|¬¦  «        }|                     ¦   «          |j        d         }t          |t!          | ||¦  «        z  d|z  z
  d|z  | z  z   g|t!          |||¦  «        z  d|z  |z  z   gg¦  «        }|j        |k    sJ ‚t          d| z  d|dz  z  z   d|dz  z  z   d| dz  z  |z  d|dz  z  |z  z   z  g¦  «        }t%          |                     d¬¦  «        ¦  «        t%          |¦  «        k    sJ ‚d S )Nzq1:3r0   )ÚlevelzL, m, tgš™™™™™#@r   zN*r   ÚP1ÚpPr3   )r7   Ú	forcelistÚframe)r   r   gš™™™™™3@é   r   )Úsol_type)r   r   r   r   r"   rG   r%   r&   r'   Údtr   r   r
   r   r;   Úlam_vecr   Úeomr   Úsolve_multipliers)Úq1Úq2Úq1dÚq2dr   r,   Útr-   r   ÚpNr   rR   Úf_cÚLagÚLMÚlam1Úeom_solÚlam_sols                     r   Útest_nonminimal_pendulumrg   s   sQ  € Ý˜FÑ#Ô#�F€BˆÝ˜f¨AÐ.Ñ.Ô.�H€CˆÝ�iÑ Ô �G€A€qˆ!Ø€Aå�sÑÔ€AÝ	ˆt‰Œ€BØ‡J‚Jˆq�!ÑÔÐà
�Š�T˜2˜aœc™6 B q¤s¡F™?Ñ+Ô+€AØ‡I‚Iˆa�—’˜B‘”×"Ò" 1Ñ%Ô%Ñ&Ô&Ð&Ý	�$˜˜1Ñ	Ô	€Bå
�"�a‘%˜"˜a™%‘- ! Q¡$Ñ&Ð'Ñ
(Ô
(€Cå
�Q˜Ñ
Ô
€CÝ	˜˜r 2˜h°3Ø˜1˜Q™3˜qœs™7�|�n¨Að
/ñ 
/ô 
/€Bà×ÒÑ!Ô!Ð!àŒ:�dÔ€DÝ�q� B¨¨1Ñ-Ô-Ñ-°°A±Ñ5¸¸$¹¸r¹	ÑAÐBØ� B¨¨1Ñ-Ô-Ñ-°°$±°r±	Ñ9Ð:ð<ñ =ô =€GàŒ6�WÒÐÐÐå�t˜B‘w  3¨¡6¡Ñ)¨A¨c°1©f©HÑ4°q¸¸Q¹±w¸q±yÀ1ÀRÈÁUÁ7È1Á9Ñ7LÑMÐNÑOÔO€GÝ�B×(Ò(°(Ð(Ñ;Ô;Ñ<Ô<ÅÈÑ@QÔ@QÒQÐQÐQÐQÐQÐQr!   c                  ó  — t          d¦  «        \  } }t          dd¦  «        \  }}t          dd¦  «        \  }}t          d¦  «        \  }}t          dd¦  «        \  }}	t          d¦  «        \  }
}}t          d¦  «        }|                     dd| |j        g¦  «        }|                     d	d||j        g¦  «        }|                     |||j        z  ¦  «         |                     |||j        z  ¦  «         t          d
¦  «        }|                     d|
|j        z  ¦  «        }|                     d|
|j        z  ¦  «        }| 	                    |d¦  «         | 
                    |||¦  «         | 
                    |||¦  «         t          d||¦  «        }t          d||¦  «        }| |z  |
z  t          | ¦  «        z  |_        | |z  |
z  t          | ¦  «        z  ||z  |
z  t          |¦  «        z  z
  |_        t          |||¦  «        }t          || |g||g¬¦  «        }|                     ¦   «          t#          |
|z  d|z  t%          | ¦  «        z  |
t%          | ¦  «        z  t%          |¦  «        z  |z  z   |
t%          | ¦  «        z  t          |¦  «        z  |dz  z  z   |
t%          |¦  «        z  t          | ¦  «        z  |dz  z  z
  |
t          | ¦  «        z  t          |¦  «        z  |z  z   d|
z  |z  z   z  |j        d         z
  ¦  «        dk    sJ ‚t#          |
|z  |t%          |¦  «        z  |
t%          | ¦  «        z  t%          |¦  «        z  |z  z   |
t%          | ¦  «        z  t          |¦  «        z  |dz  z  z
  |
t%          |¦  «        z  t          | ¦  «        z  |dz  z  z   |
t          | ¦  «        z  t          |¦  «        z  |z  z   |
|z  z   z  |j        d         z
  ¦  «        dk    sJ ‚|j        ||gk    sJ ‚d S )Nzq1 q2r0   r3   zu1 u2r   r   r1   r2   r4   r   r   r@   r   ÚParPÚParRr   )r   r   r   r9   r:   rF   r   rG   r%   r"   rH   r   r   r)   r
   r   r;   r   r   rY   r   )r[   r\   r]   r^   Úq1ddÚq2ddÚu1Úu2Úu1dÚu2dr+   r,   r-   r   r1   r4   r   r   r@   ri   rj   r   rL   s                          r   Útest_dub_penrq   ‘   s  € õ ˜GÑ$Ô$�F€BˆÝ˜g qÑ)Ô)�H€CˆÝ ¨Ñ+Ô+�J€Dˆ$Ý˜GÑ$Ô$�F€BˆÝ˜g qÑ)Ô)�H€CˆÝ�gÑÔ�G€A€qˆ!å�sÑÔ€AØ	�Š�C˜ " a¤c Ñ+Ô+€AØ	�Š�C˜ " a¤c Ñ+Ô+€Aà‡M‚M�!�S˜1œ3‘YÑÔÐØ‡M‚M�!�S˜1œ3‘YÑÔÐåˆc‰
Œ
€AØ	�Š�C˜˜QœS™Ñ!Ô!€AØ	�Š�C˜˜QœS™Ñ!Ô!€Aà‡I‚Iˆa��O„O€OØ‡M‚M�!�Q˜ÑÔÐØ‡M‚M�!�Q˜ÑÔÐå�F˜A˜qÑ!Ô!€DÝ�F˜A˜qÑ!Ô!€Dà˜C !™G a™K­#¨b©'¬'Ñ1€DÔØ˜C !™G a™K­#¨b©'¬'Ñ1°A¸±E¸A±IÅÀBÁÄÑ4GÑG€DÔÝ�1�d˜DÑ!Ô!€AÝ	˜˜R ˜H¨d°D¨\Ð	:Ñ	:Ô	:€BØ×ÒÑ!Ô!Ð!å�A�a‘C˜˜1™�S ™WœW™ q­¨R©¬¡yµ°R±´Ñ'8¸Ñ'=Ñ=Ø
�C�‰GŒG‰)•C˜‘G”GÑ
˜C ™FÑ
"ñ#Ø%&¥s¨2¡w¤w¡Y­s°2©w¬wÑ%6°s¸A±vÑ%=ñ>à
�C�‰GŒG‰)•C˜‘G”GÑ
˜DÑ
 ñ!à#$ Q¡3 t¡8ñ,ñ -à/1¬v°a¬yñ9ñ :ô :à=>ò?ð ?ð ?ð ?õ �A�a‘C˜�3˜r™7œ7™ Q¥s¨2¡w¤w¡Y­s°2©w¬wÑ%6°tÑ%;Ñ;Ø
�C�‰GŒG‰)•C˜‘G”GÑ
˜C ™FÑ
"ñ#Ø%&¥s¨2¡w¤w¡Y­s°2©w¬wÑ%6°s¸A±vÑ%=ñ>à
�C�‰GŒG‰)•C˜‘G”GÑ
˜DÑ
 ñ!à#$ T¡6ñ*ñ +à-/¬V°A¬Yñ7ñ 8ô 8à;<ò=ð =ð =ð =ð Œ9˜˜t˜Ò$Ð$Ð$Ð$Ð$Ð$r!   c            
      ól  — t          d¦  «        \  } }}t          dd¦  «        \  }}}t          d¦  «        \  }}}t          d¦  «        }	|	                     dd| |	j        g¦  «        }
|
                     dd||
j        g¦  «        }|                     dd||j        g¦  «        }t          d	¦  «        }|                     |	d
¦  «         | 	                    d||j        z  ¦  «        }| 
                    ||	|¦  «         t          ||dz  |dz  z  |dz  |dz  z  |dz  |dz  z  ¦  «        }t          d|||||f¦  «        }| |z  |z  t          |¦  «        z  |_        t          |	|¦  «        }| ||g}t!          d¦  «        } t!          d¦  «        }t!          d¦  «        }t#          ||¦  «        }|                     ¦   «          |                     ¦   «         }|                     ¦   «          t          d¦  «        }|j        dd…         d
d|z  |dz  z  dz  d
gk    sJ ‚|d                              ¦   «         d|z  t-           ||¦  «        ¦  «        z  |dt-          d ||¦  «        z  ¦  «        z  t/           | |¦  «        |¦  «        z  dt           ||¦  «        ¦  «        z  t/           ||¦  «        |¦  «        z  z   z  t/           | |¦  «        |¦  «        z  z   d|z  z  k    sJ ‚|d         dt           ||¦  «        ¦  «        z  t/           | |¦  «        |¦  «        z  dt1           ||¦  «        ¦  «        z  t/           ||¦  «        |¦  «        z  z   dt/           | |¦  «        |¦  «        z  t           ||¦  «        ¦  «        z  z   t/           ||¦  «        |¦  «        z  k    sJ ‚d S )Nzq1 q2 q3r0   zr m gr   ÚYr2   r   r@   ÚCr   ÚDmcrU   r3   ÚBodyDr[   r\   Úq3r_   r8   é   é   iøÿÿÿé   é
   éûÿÿÿ)r   r   r   r9   r:   r%   r&   r   r"   rG   rH   r	   r   r   r)   r
   r   r   r;   r<   r   Úmass_matrixr   r   r   )r[   r\   rw   r]   r^   Úq3dÚrr,   r-   r   rs   r   r@   rt   ru   rB   rv   rb   r   r+   rM   r_   s                         r   Útest_rolling_discr€   Â   sÃ  € õ   
Ñ+Ô+�J€BˆˆBÝ" :¨qÑ1Ô1�M€CˆˆcÝ�gÑÔ�G€A€qˆ!õ 	�sÑÔ€AØ	�Š�C˜ " a¤c Ñ+Ô+€AØ	�Š�C˜ " a¤c Ñ+Ô+€AØ	�Š�C˜ " a¤c Ñ+Ô+€Aõ 	ˆc‰
Œ
€AØ‡I‚Iˆa��O„O€OØ
�+Š+�e˜Q ¤™WÑ
%Ô
%€CØ‡O‚O�A�q˜!ÑÔÐõ 	��1�Q‘3˜˜A™‘:˜q ™s Q¨¡T™z¨1¨Q©3°°A±©:Ñ6Ô6€AÝ�g˜s A q¨1¨c¨(Ñ3Ô3€Eð  !˜S 1™W q™[­3¨r©7¬7Ñ2€EÔÝ
�Q˜Ñ
Ô
€CØ	ˆR�ˆ€AÝ	�$‰Œ€BÝ	�$‰Œ€BÝ	�$‰Œ€BÝ˜˜QÑÔ€AØ×ÒÑ Ô Ð Ø
�%Š%‰'Œ'€CØ‡L‚L�N„N€NÝ�‰Œ€AàŒM˜!˜A˜#Ô 1 a¨¡c¨!¨Q©$¡h¨q¡j°!Ð"4Ò4Ð4Ð4Ð4ØˆqŒ6�?Š?ÑÔØ	ˆA‰�c�"�"�Q‘%”%‰jŒj‰˜1˜a¥ A b b¨¡e¤e¡G¡¤™n­Z¸¸¸1¹¼¸qÑ-AÔ-AÑAØ
�3ˆrˆr�!‰uŒu‰:Œ:‰•j   A¡¤¨Ñ*Ô*Ñ*ñ+ñ ,Ý,6°r°r¸!±u´u¸aÑ,@Ô,@ñAñ 
AØCEÀaÁ4ñ	IòJð Jð Jð Jð ˆqŒ6�b�˜R˜R ™UœU™œ‘m¥J¨r¨r°!©u¬u°aÑ$8Ô$8Ñ8¸1½SÀÀÀAÁÄñ >
ô >
ñ <
Ý
�R�R˜‘U”U˜AÑ
Ô
ñ<ñ Ø!"¥:¨b¨b°©e¬e°QÑ#7Ô#7Ñ!7½¸B¸B¸q¹E¼E¹
¼
Ñ!BñCå
�R�R˜‘U”U˜AÑ
Ô
ñò ð ð ð ð ð r!   N) Úsympy.physics.mechanicsr   r   r   r   r   r   r	   r
   Úsympy.core.functionr   r   Úsympy.core.numbersr   Úsympy.core.symbolr   Ú(sympy.functions.elementary.trigonometricr   r   r   Úsympy.matrices.denser   Úsympy.simplify.simplifyr   Úsympy.testing.pytestr   r.   rC   rN   rg   rq   r€   © r!   r   ú<module>rŠ      sh  ðð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð
Bð 
Bð 
Bð-&ð -&ð -&ð`&!ð &!ð &!ðRRð Rð Rð<.%ð .%ð .%ðb5ð 5ð 5ð 5ð 5r!   