
    \h
                     J    S SK Jr  S SKJr  S SKJrJrJrJrJ	r	  S r
S rS rg)    )symbols)raises)inertiainertia_of_point_massInertiaReferenceFramePointc            	         [        S5      n [        S5      u  pn[        S5      u  pEn[        XX#5      XR                  U R                  -  -  UU R                  U R                  -  -  -   X0R
                  U R
                  -  -  -   :X  d   e[        U SSS5      SU R                  U R                  -  -  :X  d   e[        [        S 5        [        XX#XEU5      XR                  U R                  -  -  X@R                  U R                  -  -  -   X`R                  U R
                  -  -  -   X@R                  U R                  -  -  -   UU R                  U R                  -  -  -   XPR                  U R
                  -  -  -   X`R
                  U R                  -  -  -   XPR
                  U R                  -  -  -   X0R
                  U R
                  -  -  -   :X  d   eg )NNixx iyy izzzixy iyz izxr   c                      [        SSSS5      $ )Nr   )r        b/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/mechanics/tests/test_inertia.py<lambda>%test_inertia_dyadic.<locals>.<lambda>   s    gaAq1r   )r   r   r   xyzr   	TypeError)r   ixxiyyizzixyiyzizxs          r   test_inertia_dyadicr      s   sAM*MCcM*MCc13$acc	):SSS133Y> *qss+*, - - -1aA!qssQSSy/111
91213Ss3ssQSSy8I3399 #ssQSSy 192473394E9FHK	
qssI9SS133Y'9(*-qss*;9<>ASSCCF ?9 ##)$9% & & &r   c                  @   [        S5      u  pp#[        S5      nXR                  -  n[        X5U5      nXcU S-  -  UR                  UR                  -  -  X0S-  -  UR
                  UR
                  -  -  -   :X  d   eXR                  -  n[        X7U5      nXcUS-  -  UR                  UR                  -  -  X1S-  -  UR
                  UR
                  -  -  -   :X  d   eX$R
                  -  n[        X8U5      nXcUS-  -  UR                  UR                  -  -  X2S-  -  UR                  UR                  -  -  -   :X  d   eXW-   U-   n	[        X9U5      nXcUS-  US-  -   -  UR                  UR                  -  -  X0-  U-  UR                  UR                  -  -  -
  X0-  U-  UR                  UR
                  -  -  -
  X0-  U-  UR                  UR                  -  -  -
  X0S-  US-  -   -  UR                  UR                  -  -  -   X1-  U-  UR                  UR
                  -  -  -
  X0-  U-  UR
                  UR                  -  -  -
  X1-  U-  UR
                  UR                  -  -  -
  X0S-  US-  -   -  UR
                  UR
                  -  -  -   :X  d   eg )Nzr s t mr      )r   r   r   r   r   r   )
rstmr   pxIpypzps
             r   test_inertia_of_point_massr)      s   #JA!sA	
SSBaQ'AAqDACC!##I&TQSS133Y)?????	
SSBaQ'AAqDACC!##I&TQSS133Y)?????	
SSBaQ'AAqDACC!##I&TQSS133Y)?????
"AaA&AadQTk"accACCi0accACCi()accACCi() accACCi() dQTk"accACCi0	1
 accACCi() accACCi() accACCi() dQTk"accACCi01 2 2 2r   c                  2  ^^^ [        S5      n [        S5      m[        S5      u  pnXR                  U R                  -  -  X R                  U R                  -  -  -   X0R
                  U R
                  -  -  -   m[        [        XX#5      T5      m[        T[        5      (       d   eTR                  5       S:X  d   eTR                  T:X  d   eTR                  T:X  d   eTS   T:X  d   eTS   T:X  d   eTTT4:X  d   e[        [        UUU4S j5        T[        TT5      :X  d   eT[        R                  " TXX#5      :X  d   e[        [        U4S j5        [        [        U4S	 j5        [        [        U4S
 j5        [        [        U4S j5        g )Nr   Or   zFInertia(dyadic=ixx*(N.x|N.x) + iyy*(N.y|N.y) + izz*(N.z|N.z), point=O)r      c                     > T TT4:g  $ )Nr   )r%   I_dyadicr+   s   r   r   %test_inertia_object.<locals>.<lambda>@   s    aAx=0r   c                     > T S-   $ N)r,   r   r   r%   s   r   r   r/   D   s	    a&jr   c                     > ST -   $ r1   r   r2   s   r   r   r/   E   s	    fqjr   c                     > T S-  $ Nr   r   r2   s   r   r   r/   F   	    a!er   c                     > ST -  $ r5   r   r2   s   r   r   r/   G   r6   r   )r   r	   r   r   r   r   r   r   
isinstancetuple__repr__dyadicpointr   r   from_inertia_scalars)r   r   r   r   r%   r.   r+   s       @@@r   test_inertia_objectr>   2   s`   sAc
AM*MCcccACCi 3##)#44sccACCi7HHH)1-Aa::< 6 7 7 788x77a<<Q48Q41991
9018$$$$,,QAAAA
9()
9()
9m$
9m$r   N)sympyr   sympy.testing.pytestr   sympy.physics.mechanicsr   r   r   r   r	   r   r)   r>   r   r   r   <module>rB      s&     'E E&2:%r   