§
    OŠtjü!  ã                   ó|  — d dl mZmZmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZ d dlmZ  ed¦  «        \  ZZZZZ ed¦  «        \  ZZZ edd e ez  gd de ez  gd d edz  ez  gg¦  «        Z ed d edz  edz  z   eez  z
  g¦  «        Z eg d	¢g d
¢d d dd e ez  gd d d de ez  gd d d d edz  ez  gg¦  «        Z eeed d edz  edz  z   eez  z
  g¦  «        Z eeeg¦  «        Ze                     e¦  «        Z eeez  ¦  «        Z ed¦  «        Ze                      ddeej!        g¦  «        Z" e
d¦  «        Z#e# $                    dee"j        z  ¦  «        Z% e	de%e¦  «        Z&e&gZ'e%eez  ej        z  fgZ( ed¦  «        Z)e)eez  eez   z  iZ*dgZ+dgZ,eeefZ-eefZ.eeeeefZ/dZ0dZ1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6dS )é    )ÚsymbolsÚMatrixÚatanÚzeros)Úsimplify)ÚdynamicsymbolsÚParticleÚPointÚReferenceFrameÚSymbolicSystem)Úraiseszx y u v lambdazm l gé   é   )r   r   r   r   r   )r   r   r   r   r   ÚNÚAÚAxisÚOÚPÚPaÚPEé   )r   r   )r   é   c            
      ó`  — t          t          t          t          t          t
          t          t          t          ¬¦  «        } | j	        t          t          t          g¦  «        k    sJ ‚| j        t          t          t          g¦  «        k    sJ ‚| j        t          t          t          t          t          t           g¦  «        k    sJ ‚| j        dgk    sJ ‚t          }t%          | j        |z
  ¦  «        t'          dd¦  «        k    sJ ‚t)          |                      ¦   «         ¦  «        t          t          t           t          t          hk    sJ ‚t-          |                      ¦   «         ¦  «        t.          k    sJ ‚t)          |                      ¦   «         ¦  «        t2          t4          t6          hk    sJ ‚t-          |                      ¦   «         ¦  «        t.          k    sJ ‚| j        t          k    sJ ‚| j        t:          fk    sJ ‚| j        t<          t4          t6          z  t>          j        z  ffk    sJ ‚d S )N©Úalg_conÚoutput_eqnsÚ
coord_idxsÚ
speed_idxsÚbodiesÚloadsr   é   r   ) r   ÚstatesÚcomb_explicit_rhsÚalg_con_fullÚout_eqnsr   r   r   r    Úcoordinatesr   ÚxÚyÚspeedsÚuÚvÚlamr   r   r   ÚsetÚdynamic_symbolsÚtypeÚtupleÚconstant_symbolsÚlÚgÚmr   r   r   r   )Ú
symsystem1Úinters     úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/mechanics/tests/test_system.pyÚtest_form_1r8   C   sÎ  € Ý¥Õ(9Ý(4Å(Ý+5Å*Ý'-µUð<ñ <ô <€Jð
 Ô!¥V­Qµ¨F¡^¤^Ò3Ð3Ð3Ð3ØÔ¥­­1 v¡¤Ò.Ð.Ð.Ð.ØÔ¥­­1­aµµCÐ'8Ñ 9Ô 9Ò9Ð9Ð9Ð9àÔ ! Ò$Ð$Ð$Ð$å€EÝ�JÔ0°5Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHåˆz×)Ò)Ñ+Ô+Ñ,Ô,µµAµs½A½qÐ0AÒAÐAÐAÐAÝ�
×*Ò*Ñ,Ô,Ñ-Ô-µÒ6Ð6Ð6Ð6Ýˆz×*Ò*Ñ,Ô,Ñ-Ô-µ!µQ½°Ò:Ð:Ð:Ð:Ý�
×+Ò+Ñ-Ô-Ñ.Ô.µ%Ò7Ð7Ð7Ð7àÔ!¥XÒ-Ð-Ð-Ð-àÔ¥ Ò%Ð%Ð%Ð%ØÔ¥¥A­¡E­A¬C¡KÐ 0Ð2Ò2Ð2Ð2Ð2Ð2Ð2ó    c            
      óV  — t          t          t          t          t          t
          t          t          t          ¬¦  «        } | j        t          t          t          t          g¦  «        k    sJ ‚| j        t          t          t          g¦  «        k    sJ ‚| j        t          t          t          t          t          t          g¦  «        k    sJ ‚| j        dgk    sJ ‚t          }t#          | j        |z
  ¦  «        t%          dd¦  «        k    sJ ‚t#          | j        t          z
  ¦  «        t%          d¦  «        k    sJ ‚t'          |                      ¦   «         ¦  «        t          t          t          t          t          hk    sJ ‚t+          |                      ¦   «         ¦  «        t,          k    sJ ‚t'          |                      ¦   «         ¦  «        t0          t2          t4          hk    sJ ‚t+          |                      ¦   «         ¦  «        t,          k    sJ ‚t6          }|                      ¦   «          t#          | j        |z
  ¦  «        t%          dd¦  «        k    sJ ‚| j        t          k    sJ ‚| j        t<          fk    sJ ‚| j        t>          t2          t4          z  t@          j
        z  ffk    sJ ‚d S )N)r)   Úmass_matrixr   r   r   r    r   r!   r   )!r   r&   Úcomb_implicit_rhsr)   Úcomb_implicit_matr$   r%   r   r    r   r'   r(   r,   r*   r+   r"   r   r   r   r-   r.   r/   r0   r1   r2   r3   r4   r#   Úcompute_explicit_formr   r   r   r   )Ú
symsystem2r6   s     r7   Útest_form_2r@   ]   s<  € Ý¥Õ->ÅvÝ,=Ý(4Å(Ý'-µUð<ñ <ô <€Jð
 Ô!¥V­Qµµ3¨KÑ%8Ô%8Ò8Ð8Ð8Ð8ØÔ¥­­1 v¡¤Ò.Ð.Ð.Ð.ØÔ¥­­1­cµ1µaÐ'8Ñ 9Ô 9Ò9Ð9Ð9Ð9àÔ ! Ò$Ð$Ð$Ð$å€EÝ�JÔ0°5Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHÝ�JÔ0Õ1BÑBÑCÔCÅuÈQÁxÄxÒOÐOÐOÐOåˆz×)Ò)Ñ+Ô+Ñ,Ô,µµAµs½A½qÐ0AÒAÐAÐAÐAÝ�
×*Ò*Ñ,Ô,Ñ-Ô-µÒ6Ð6Ð6Ð6Ýˆz×*Ò*Ñ,Ô,Ñ-Ô-µ!µQ½°Ò:Ð:Ð:Ð:Ý�
×+Ò+Ñ-Ô-Ñ.Ô.µ%Ò7Ð7Ð7Ð7å€EØ×$Ò$Ñ&Ô&Ð&Ý�JÔ0°5Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHð Ô!¥XÒ-Ð-Ð-Ð-àÔ¥ Ò%Ð%Ð%Ð%ØÔ¥¥A­¡E­A¬C¡KÐ 0Ð2Ò2Ð2Ð2Ð2Ð2Ð2r9   c                  ór  — t          t          t          t          t          t
          t          t          t          t          ¬¦	  «	        } | j
        t          t          t          g¦  «        k    sJ ‚| j        t          t          t           g¦  «        k    sJ ‚| j        t          t          t          t          t           t"          g¦  «        k    sJ ‚| j        dgk    sJ ‚t          }t          }t%          | j        |z
  ¦  «        t'          dd¦  «        k    sJ ‚t%          | j        t          z
  ¦  «        t'          d¦  «        k    sJ ‚t%          | j        |z
  ¦  «        t'          dd¦  «        k    sJ ‚t(          }t%          | j        |z
  ¦  «        t'          dd¦  «        k    sJ ‚t%          | j        t*          z
  ¦  «        t'          d¦  «        k    sJ ‚t,          }|                      ¦   «          t%          | j        |z
  ¦  «        t'          dd¦  «        k    sJ ‚t1          |                      ¦   «         ¦  «        t          t           t"          t          t          hk    sJ ‚t5          |                      ¦   «         ¦  «        t6          k    sJ ‚t1          |                      ¦   «         ¦  «        t:          t<          t>          hk    sJ ‚t5          |                      ¦   «         ¦  «        t6          k    sJ ‚| j         i k    sJ ‚| j        tB          fk    sJ ‚| j	        tD          t<          t>          z  tF          j        z  ffk    sJ ‚d S )N)r;   Úcoordinate_derivativesr   r   r   r   r    r   r   r   r   r!   )$r   r"   Údyn_implicit_rhsÚdyn_implicit_matÚkin_explicit_rhsr   r   r   r   r    r&   r   r'   r(   r)   r*   r+   r,   r   r   r<   r=   r#   r>   r-   r.   r/   r0   r1   r2   r3   r4   r   r   r   r   )Ú
symsystem3Úinter1Úinter2r6   s       r7   Útest_form_3rI   }   s¾  € Ý¥Õ(8Ý,<Ý7GÝ(/½JÝ+5½fÝ&+ð-ñ -ô -€Jð Ô!¥V­Qµ¨F¡^¤^Ò3Ð3Ð3Ð3ØÔ¥­­1 v¡¤Ò.Ð.Ð.Ð.ØÔ¥­­1­aµµCÐ'8Ñ 9Ô 9Ò9Ð9Ð9Ð9àÔ ! Ò$Ð$Ð$Ð$å€FÝ€FÝ�JÔ/°&Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHÝ�JÔ/Õ2BÑBÑCÔCÅuÈQÁxÄxÒOÐOÐOÐOÝ�JÔ/°&Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHå€EÝ�JÔ0°5Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHÝ�JÔ0Õ1BÑBÑCÔCÅuÈQÁxÄxÒOÐOÐOÐOå€EØ×$Ò$Ñ&Ô&Ð&Ý�JÔ0°5Ñ8Ñ9Ô9½UÀ1Àa¹[¼[ÒHÐHÐHÐHåˆz×)Ò)Ñ+Ô+Ñ,Ô,µµAµs½A½qÐ0AÒAÐAÐAÐAÝ�
×*Ò*Ñ,Ô,Ñ-Ô-µÒ6Ð6Ð6Ð6Ýˆz×*Ò*Ñ,Ô,Ñ-Ô-µ!µQ½°Ò:Ð:Ð:Ð:Ý�
×+Ò+Ñ-Ô-Ñ.Ô.µ%Ò7Ð7Ð7Ð7àÔ! RÒ'Ð'Ð'Ð'àÔ¥ Ò%Ð%Ð%Ð%ØÔ¥¥A­¡E­A¬C¡KÐ 0Ð2Ò2Ð2Ð2Ð2Ð2Ð2r9   c            
      óN  — t          t          t          t          t          t
          t          t          t          ¬¦  «        } t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  d| _        d d d ¦  «         d S # 1 swxY w Y   d S )Nr   é*   )r   r"   r#   r$   r%   r   r   r   r    r   ÚAttributeErrorr&   rC   r<   rD   r=   rE   r)   r   )Ú	symsystems    r7   Útest_property_attributesrN   ¤   s>  € Ý�vÕ'8Ý'3ÅÝ*4ÅÝ&,µEð;ñ ;ô ;€Iõ
 
•Ñ	Ô	ð ð Øˆ	Ôðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð #ð #Ø "ˆ	Ôð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å	•Ñ	Ô	ð (ð (Ø%'ˆ	Ô"ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å	•Ñ	Ô	ð )ð )Ø&(ˆ	Ô#ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	•Ñ	Ô	ð ð Øˆ	Œðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð (ð (Ø%'ˆ	Ô"ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å	•Ñ	Ô	ð )ð )Ø&(ˆ	Ô#ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	•Ñ	Ô	ð (ð (Ø%'ˆ	Ô"ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å	•Ñ	Ô	ð )ð )Ø&(ˆ	Ô#ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	•Ñ	Ô	ð ð Øˆ	Ôðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð ð Øˆ	Ôðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð ð Øˆ	Ôðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sØ   ÁA(Á(A,Á/A,ÂBÂBÂ"BÂ:CÃCÃCÃ-DÄDÄDÄ D4Ä4D8Ä;D8ÅE'Å'E+Å.E+ÆFÆFÆ!FÆ9GÇGÇGÇ,H È HÈHÈH3È3H7È:H7ÉI&É&I*É-I*ÊJÊJÊ!Jc                  ó8  — t          t          t          ¦  «        } t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j	         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |  
                    ¦   «          ddd¦  «         n# 1 swxY w Y   t          t          t          t          t
          ¬¦  «        }t          t          ¦  «        5  |j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |j	         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | j         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |j         ddd¦  «         dS # 1 swxY w Y   dS )zÂThis test will cover errors that arise from trying to access attributes
    that were not specified upon object creation or were specified on creation
    and the user tries to recalculate them.N)r)   r;   )r   r"   r#   r   rL   r=   r<   rD   rC   rE   r>   r&   r)   r   r    )r5   r?   s     r7   Útest_not_specified_errorsrP   Ä   s<  € õ  ¥Õ(9Ñ:Ô:€Jå	•Ñ	Ô	ð %ð %ØÔ$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å	•Ñ	Ô	ð %ð %ØÔ$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å	•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•Ñ	Ô	ð +ð +Ø×(Ò(Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ  ¥Õ->ÅvÝ,=ð?ñ ?ô ?€Jõ 
•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•Ñ	Ô	ð $ð $ØÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ
 
•Ñ	Ô	ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
•Ñ	Ô	ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	•Ñ	Ô	ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
•Ñ	Ô	ð %ð %ØÔ$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %sû   ¯AÁAÁ
AÁ"A6Á6A:Á=A:ÂB)Â)B-Â0B-ÃCÃC Ã#C Ã;DÄDÄDÄ.EÅEÅEÆF)Æ)F-Æ0F-ÇGÇG Ç#G Ç;HÈHÈHÈ.IÉIÉ	IÉ!I5É5I9É<I9ÊJ(Ê(J,Ê/J,ËKËKË"KË:LÌLÌLN)7Úsympyr   r   r   r   Úsympy.simplify.simplifyr   Úsympy.physics.mechanicsr   r	   r
   r   r   Úsympy.testing.pytestr   r'   r(   r*   r+   r,   r4   r2   r3   rD   rC   r=   r<   rE   ÚLUsolver#   Úthetar   Ú	orientnewÚzr   r   Ú	locatenewr   r   r   r    r   r%   r   r$   r&   r)   r"   r   r   r8   r@   rI   rN   rP   © r9   r7   ú<module>r[      sP  ðØ .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðEð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eà 'Ð 'Ð 'Ð 'Ð 'Ð 'ð !�.Ð!1Ñ2Ô2�€€1€aˆˆCØ
ˆ'�'Ñ
Ô
�€€1€að �6˜A˜q 1 " Q¡$˜<Ø˜q 1 " Q¡$˜<Ø˜q ! Q¡$ q¡&˜>ð+ñ ,ô ,Ð ð �6˜1˜a  A¡¨¨1©¡¨q°©sÑ!2Ð3Ñ4Ô4Ð à�F˜O˜O˜OØ+˜O˜OØ  1 a¨!¨¨A©Ð.Ø  1 a¨!¨¨A©Ð.Ø  1 a¨¨A©¨a©Ð0ð	2ñ 3ô 3Ð ð �F˜A˜q ! Q¨¨1©¨q°!©t©°a¸±cÑ(9Ð:Ñ;Ô;Ð à�6˜1˜a˜&‘>”>Ð à%×-Ò-Ð.?Ñ@Ô@Ð ð 	ˆˆQˆq‰S‰	Œ	€Ø€N�3ÑÔ€Ø‡K‚K��V˜e Q¤S˜\Ñ*Ô*€Ø	€Eˆ#�J„J€Ø‡K‚K��Q˜œ‘WÑÔ€à€Xˆd�A�qÑÔ€à
ˆ€Ø
ˆQ�‰U�Q”S‰[Ð	Ð€ð €WˆT�]„]€Ø��!‘�Q�q‘S‘	ˆ?€ð ˆ#€Øˆs€Ø�!�Sˆk€Ø
ˆQˆ€Ø
ˆQ��1�cÐ	€Ø€
Ø€
ð3ð 3ð 3ð43ð 3ð 3ð@$3ð $3ð $3ðNð ð ð@1%ð 1%ð 1%ð 1%ð 1%r9   