+
    i!                        ^ RI HtHtHtHt ^ RIHt ^ RIHtH	t	H
t
HtHt ^ RIHt ]! R4      w  ttttt]! R4      w  ttt]! ^^ ]) ],          .^ ^]) ],          .^ ^ ]^,          ],          ..4      t]! ^ ^ ]^,          ]^,          ,           ]],          ,
          .4      t]! . RO. RO^ ^ ^^ ]) ],          .^ ^ ^ ^]) ],          .^ ^ ^ ^ ]^,          ],          ..4      t]! ]]^ ^ ]^,          ]^,          ,           ]],          ,
          .4      t]! ]].4      t]P9                  ]4      t]! ]],          4      t]! R4      t]PA                  RR	]]PB                  .4      t"]
! R
4      t#]#PI                  R]]"P                  ,          4      t%]	! R]%]4      t&]&.t']%]],          ]P                  ,          3.t(]! R4      t)])]],          ]],           ,          /t*^.t+^.t,]]]3t-]]3t.]]]]]3t/Rt0Rt1R t2R t3R t4R t5R t6R# )    )symbolsMatrixatanzeros)simplify)dynamicsymbolsParticlePointReferenceFrameSymbolicSystem)raiseszx y u v lambdazm l gNAAxisOPPaPEc                  6   \        \        \        \        \        \
        \        \        \        R 7      p V P                  \        \        \        .4      8X  g   Q hV P                  \        \        \        .4      8X  g   Q hV P                  \        \        \        \        \        \         .4      8X  g   Q hV P"                  ^.8X  g   Q h\        p\%        V P                  V,
          4      \'        ^^4      8X  g   Q h\)        V P+                  4       4      \        \        \         \        \        08X  g   Q h\-        V P+                  4       4      \.        8X  g   Q h\)        V P1                  4       4      \2        \4        \6        08X  g   Q h\-        V P1                  4       4      \.        8X  g   Q hV P8                  \        8X  g   Q hV P                  \:        38X  g   Q hV P                  \<        \4        \6        ,          \>        P                  ,          338X  g   Q hR# )alg_conoutput_eqns
coord_idxs
speed_idxsbodiesloadsN) 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/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/mechanics/tests/test_system.pytest_form_1r3   C   s   (9(4(+5*'-U<J
 !!VQF^3331v...1aC'8 9999!$$$EJ00589U1a[HHHz))+,AsAq0AAAA
**,-666z**,-!Q:::
++-.%777!!X---%%%AEACCK 02222    c                  &   \        \        \        \        \        \
        \        \        \        R 7      p V P                  \        \        \        \        .4      8X  g   Q hV P                  \        \        \        .4      8X  g   Q hV P                  \        \        \        \        \        \        .4      8X  g   Q hV P                   ^.8X  g   Q h\        p\#        V P                  V,
          4      \%        ^^4      8X  g   Q h\#        V P                  \        ,
          4      \%        ^4      8X  g   Q h\'        V P)                  4       4      \        \        \        \        \        08X  g   Q h\+        V P)                  4       4      \,        8X  g   Q h\'        V P/                  4       4      \0        \2        \4        08X  g   Q h\+        V P/                  4       4      \,        8X  g   Q h\6        pV P9                  4        \#        V P6                  V,
          4      \%        ^^4      8X  g   Q hV P:                  \        8X  g   Q hV P                  \<        38X  g   Q hV P                  \>        \2        \4        ,          \@        P                  ,          338X  g   Q hR# ))r$   mass_matrixr   r   r   r   N)!r   r!   comb_implicit_rhsr$   comb_implicit_matr   r    r   r   r   r"   r#   r'   r%   r&   r   r   r   r   r(   r)   r*   r+   r,   r-   r.   r/   r   compute_explicit_formr   r   r   r   )
symsystem2r1   s     r2   test_form_2r;   ]   s   ->v,=(4('-U<J
 !!VQ3K%88881v...1c1a'8 9999!$$$EJ00589U1a[HHHJ001BBCuQxOOOz))+,AsAq0AAAA
**,-666z**,-!Q:::
++-.%777E$$&J00589U1a[HHH !!X---%%%AEACCK 02222r4   c                  J   \        \        \        \        \        \
        \        \        \        \        R 7	      p V P                  \        \        \        .4      8X  g   Q hV P                  \        \        \         .4      8X  g   Q hV P                  \        \        \        \        \         \"        .4      8X  g   Q hV P
                  ^.8X  g   Q h\        p\        p\%        V P                  V,
          4      \'        ^^4      8X  g   Q h\%        V P                  \        ,
          4      \'        ^4      8X  g   Q h\%        V P                  V,
          4      \'        ^^4      8X  g   Q h\(        p\%        V P(                  V,
          4      \'        ^^4      8X  g   Q h\%        V P*                  \*        ,
          4      \'        ^4      8X  g   Q h\,        pV P/                  4        \%        V P,                  V,
          4      \'        ^^4      8X  g   Q h\1        V P3                  4       4      \        \         \"        \        \        08X  g   Q h\5        V P3                  4       4      \6        8X  g   Q h\1        V P9                  4       4      \:        \<        \>        08X  g   Q h\5        V P9                  4       4      \6        8X  g   Q hV P@                  / 8X  g   Q hV P                  \B        38X  g   Q hV P                  \D        \<        \>        ,          \F        P                  ,          338X  g   Q hR# ))r6   coordinate_derivativesr   r   r   r   r   N)$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   r7   r8   r   r9   r(   r)   r*   r+   r,   r-   r.   r/   r   r   r   r   )
symsystem3inter1inter2r1   s       r2   test_form_3rD   }   sa   (8,<7G(/J+5f&+-J !!VQF^3331v...1aC'8 9999!$$$FFJ//&89U1a[HHHJ//2BBCuQxOOOJ//&89U1a[HHHEJ00589U1a[HHHJ001BBCuQxOOOE$$&J00589U1a[HHHz))+,AsAq0AAAA
**,-666z**,-!Q:::
++-.%777!!R'''%%%AEACCK 02222r4   c                     \        \        \        \        \        \
        \        \        \        R 7      p \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       \        \        4      ;_uu_ 4        ^*V n        RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELt; i  + '       g   i     ELa; i  + '       g   i     ELN; i  + '       g   i     EL;; i  + '       g   i     EL(; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; ir   )r   r   r   r   r    r   r   r   r   r   AttributeErrorr!   r>   r7   r?   r8   r@   r$   r   )	symsystems    r2   test_property_attributesrH      s   v'8'3*4&,E;I
 
			 
 			 "	 
 			%'	" 
 			&(	# 
 				 
 			%'	" 
 			&(	# 
 			%'	" 
 			&(	# 
 				 
 				 
 				 
 	- 
 																																			s   H
2HH2 I'II.5JJJ**J>K8K&
H	H/	2I	I	I+	.I?	J	J'	*J;	>K	K#	&K7	c                 t   \        \        \        4      p \        \        4      ;_uu_ 4        V P
                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                  4        RRR4       \        \        \        \        \
        R7      p\        \        4      ;_uu_ 4        VP                   RRR4       \        \        4      ;_uu_ 4        VP                   RRR4       \        \        4      ;_uu_ 4        VP                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        V P                   RRR4       \        \        4      ;_uu_ 4        VP                   RRR4       R#   + '       g   i     ELr; i  + '       g   i     ELZ; i  + '       g   i     ELB; i  + '       g   i     EL*; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELw; i  + '       g   i     EL_; i  + '       g   i     ELG; i  + '       g   i     EL/; i  + '       g   i     R# ; i)zThis 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$   r6   )r   r   r   r   rF   r8   r7   r?   r>   r@   r9   r!   r$   r   r   )r0   r:   s     r2   test_not_specified_errorsrJ      s*     (9:J			$$ 
 			$$ 
 			## 
 			## 
 			## 
 			((* 
   ->v,=?J 
		## 
 			## 
 			## 
 
 
		 
 			 
 
 
		 
 			 
 
 
		$$ 
 	O 
 																	 
 								
 
 					
 
 					
 
 		s   J"J6K
0KK2LLL./MMM*3M>NN&"J3	6K	
K	K/	2L	L	L+	.L?	M	M'	*M;	>N	N#	&N7	N)   r   r   r   r   )r   rK   r   r   r   )r   rK   )      )7sympyr   r   r   r   sympy.simplify.simplifyr   sympy.physics.mechanicsr   r	   r
   r   r   sympy.testing.pytestr   r"   r#   r%   r&   r'   r/   r-   r.   r?   r>   r8   r7   r@   LUsolver   thetar   	orientnewzr   r   	locatenewr   r   r   r   r   r    r   r   r!   r$   r   r   r   r3   r;   rD   rH   rJ    r4   r2   <module>rX      sI   . . ,E E ' !!121aC
'
1a Aq1"Q$<q1"Q$<q!Q$q&>+ ,  1aA1qs!234 O+1a!A.1a!A.1aAa0	2 3  Aq!Q1q!tac(9:; 1a&> %--.?@  	QqS	3KKVeQSS\*	#JKKQWdAq

QUQSS[	 T]!QqS	? #s!Sk
Q
Q1c	

343@$3N@1%r4   