
    sgr                     t   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 dlmZ d dlmZmZ d d	lmZ d d
lmZ  ed      Z ed      \  ZZZZZej=                  deej>                        Z e j=                  dee jB                        Z"e"j=                  dee"jF                        Z$d Z%d Z&d Z'y)    )Vector)
CoordSys3D)expressmatrix_to_vectororthogonalize)Rational)S)symbols)sqrt)cossin)ImmutableDenseMatrix)raisesNzq1 q2 q3 q4 q5ABCc                  4N   t        t        j                  t              t        j                  k(  sJ t        t        j
                  t              t        j
                  u sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z
  k(  sJ t        t        j                  t              t        t               t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t               t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t               t         j                  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z
  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z
  k(  sJ t        t        j                  t              t        t               t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z   k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z
  k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t        t              z  t         j                  z  z
  t        t              t        t              z  t         j                  z  z   k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t        t              z  t         j                  z  z   t        t              t        t              z  t         j                  z  z
  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        t              t        t              z  t        t              z  z
  t        j                  z  t        t              t        t              z  t        j                  z  z
  t        t              t        t              z  t        t              t        t              z  t        t              z  z   t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        t              t        t              z  t        t              z  z   t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        t              z  t        t              t        t              z  t        t              z  z
  t        j                  z  z   k(  sJ t        t        j                  t              t        t               t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t               t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t               t         j                  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z
  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z
  k(  sJ t        t        j                  t              t        t               t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z   k(  sJ t        t         j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t         j                  t              t        t               t        t              z  t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        j                  z  z   k(  sJ t        t         j                  t              t        t              t        t              z  t        j                  z  t        t              t        t              z  t        j                  z  z
  t        t              t        j                  z  z   k(  sJ t        t         j                  t              t        j                  k(  sJ t        t         j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t         j                  t              t        t               t        j                  z  t        t              t        j                  z  z   k(  sJ t        t         j                  t               t         j                  k(  sJ t        t         j                  t               t         j                  k(  sJ t        t         j                  t               t         j                  k(  sJ t        t         j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t         j                  t              t        j                  k(  sJ t        t         j                  t              t        t               t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        t              t        t              z  t        t              z  z
  t        j                  z  t        t              t        t              z  t        t              t        t              z  t        t              z  z   t        j                  z  z   t        t              t        t              z  t        j                  z  z
  k(  sJ t        t        j                  t              t        t               t        t              z  t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        t              z  t        t              t        t              z  t        t              z  z   t        j                  z  t        t              t        t              z  t        t              t        t              z  t        t              z  z
  t        j                  z  z   t        t              t        t              z  t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        t              z  t        j                  z  z
  k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        j                  z  z   k(  sJ t        t        j                  t              t        t              t        j                  z  t        t              t        t              z  t        j                  z  z
  t        t              t        t              z  t        j                  z  z   k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z
  k(  sJ t        t        j                  t               t         j                  k(  sJ t        t        j                  t               t        t              t         j                  z  t        t              t         j                  z  z   k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  k(  sJ t        t        j                  t              t        j                  cxk(  rt        j                  k(  sJ  J t        j                  t        t        t              t        j                  z  t        t              t        j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t        t              z  t         j                  z  z
  t        t              t        t              z  t         j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t        t              z  t         j                  z  z   t        t              t        t              z  t         j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t         j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t               t        j                  z  t        t              t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t         j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t         j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t               t        t              z  t        j                  z  t        t              t        j                  z  z   t        t              t        t              z  t        j                  z  z   t              j#                         k(  sJ t         j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t               t        t              z  t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t              t        t              z  t        j                  z  t        t              t        t              z  t        j                  z  z
  t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t               t        j                  z  t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t               j#                         k(  sJ t         j                  t        t        t               t        j                  z  t        t              t        j                  z  z   t               j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        t              z  t        j                  z  z   t        t              t        t              z  t        j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t        j                  z  t        t              t        t              z  t        j                  z  z
  t        t              t        t              z  t        j                  z  z   t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t         j                  z  z
  t              j#                         k(  sJ t        j                  t        t        t              t         j                  z  t        t              t         j                  z  z   t              j#                         k(  sJ y N)r   r   zeror   r	   Zeror   ir   r   q3r   kjq2q1r   simplify     T/var/www/html/venv/lib/python3.12/site-packages/sympy/vector/tests/test_functions.pytest_expressr"      s   6;;"fkk1111661'''133?c"gacckCGACCK7777133?c"gc"goacc1CGACCK?BB   133?s2whs2w.qss2SWQSS[@BB   133?c"gacckCGACCK7777133?s2whqsslSWQSS[8888133?acc!!!133?acc!!!133?acc!!!133?acc!!!133?acc!!!133?c"gacckCGACCK7777133?c"gacckCGACCK7777133?c"gacckCGACCK7777133?c"gc"goacc1CGACCK?BB   133?s2whs2w.qss2SWQSS[@BB    133?acc!!!133?acc!!!133?acc!!!133?s2wqss{SWQSS[8999133?s2wqss{SWQSS[8999133?acc!!!133?s2wqss{SWSW_QSS-@@GCGOACC   ! ! !133?s2wqss{SWSW_QSS-@@GCGOACC   ! ! !133?s2wqss{SWQSS[8999133?	RR3r73r7?3r72	2ACC7BB		RR3r73r7?3r72	2ACC7	89 9 9 133?	RR3r73r7?3r72	2ACC7BB		RR3r73r7?3r72	2ACC7	89 9 9 133?BxB/3c"gacckAGCGOACC   ! ! ! 133?s2wqss{SWQSS[8999133?Bx|c"gacck9:::133?acc!!!133?acc!!!133?acc!!!133?acc!!!133?acc!!!133?s2wqss{SWQSS[8999133?s2wqss{SWQSS[8999133?s2wqss{SWQSS[8999133?s2ws2wqss2SWQSS[@GCGOACC   ! ! !133?BxB/3c"gacckAGCGOACC   ! ! ! 133?s2wqss{SWQSS[8999133?BxB/3GCGOACC  "%b'!##+ . / / /133?s2ws2wqss2GCGOACC  "%b'!##+ . / / /133?acc!!!133?s2wqss{SWQSS[8999133?Bx|c"gacck9:::133?acc!!!133?acc!!!133?acc!!!133?s2wqss{SWQSS[8999133?acc!!!133?Bx|c"gacck9:::133?	RR3r73r7?3r72	2ACC7	RR3r73r7?3r72	2ACC7	8BB	   133?	RRs2ws2wqss22SWQSS[@B B B133?	RR3r73r7?3r72	2ACC7	RR3r73r7?3r72	2ACC7	8BB	   133?s2wqss{SWSW_QSS-@@GCGOACC   ! ! !133?s2wqss{SWQSS[8999133?s2wqss{SWSW_QSS-@@GCGOACC   ! ! !133?s2wqss{SWQSS[8999133?acc!!!133?s2wqss{SWQSS[8999133?acc!!!133?acc!!!133?acc*acc***** 33'3r7133;R4q9BBDDDD33'3r7133;R4q9BBDDDD33'3r7133;RR)<<GCGOACC "#%%-XZ0 0 033'3r7133;RR)<<BB!!), , ,33'3r7133;R4q9BBDDDD 33'3r7133;R4q9BBDDDD33'CG8ACC<#b'!##+5:CCEEEE33'3r7133;R4q9BBDDDD33'3r7133;R4q9BBDDDD33'3r7133;R4q9BBDDDD33'3r73r7?133.R<GCGOACC "#%%-XZ0 0 0 33'CG8CG+ACC/#b'!##+=GCGOACC "#%%-XZ0 0 033'3r7133;R4q9BBDDDD33'CG8CG+ACC/GCGOACC "%b'!##+.0133;8:> > > 33'3r73r7?133.GCGOACC "%b'!##+.0133;8:> > > 33'3r7133;R4q9BBDDDD33'CG8ACC<#b'!##+5:CCEEEE33'3r7133;R4q9BBDDDD33'CG8ACC<#b'!##+5:CCEEEE33'3r7133;RR)<<GCGOACC "#%%-XZ0 0 033'3r7133;R4q9BBDDDD33'3r7133;RR)<<GCGOACC "#%%-XZ0 0 033'3r7133;R4q9BBDDDD33'3r7133;R4q9BBDDDDr    c                  @   t        dgdgdgg      } t        | t              t        j                  dt        j                  z  z   dt        j
                  z  z   k(  sJ t        dgdgdgg      } t        | t              t        | t              cxk(  rt        j                  k(  sJ  J t        t        gt        gt        gg      } t        | t              t        t        j                  z  t        t        j                  z  z   t        t        j
                  z  z   k(  sJ y )N         r   )Matrixr   r   r   r   r   r   r   r   r   r   r   )ms    r!   test_matrix_to_vectorr)      s    aS1#AAq!QSS1QSS5[1QSS5%8888aS1#AAq!%5a%; ;;    rdRD!"AAq!RVbf_r!##v%====r    c                    	
 t        d      } t        dd      \  }}| j                         \  }}}|d|z  z   d|z  d|z  z   	d|z  d|z  z   
d|z  |z   }d|z  d|z  z   }||z  ||z  z   d|z  |z  d|z  |z  z   t        	      | j                  d| j
                  z  z   | j                  t        dd      z  | j
                   dz  z   gk(  sJ t        ||d	      dt        d
      z  | j                  z  d
z  t        d
      | j
                  z  d
z  z   t        d
       | j                  z  d
z  dt        d
      z  | j
                  z  d
z  z   gk(  sJ t        t        	
fd       t        t        fd       y )Nr   za bT)integerr%   r&         )orthonormal
   c                      t               S r   r   )v1v2v3s   r!   <lambda>z$test_orthogonalize.<locals>.<lambda>   s    }RR8 r    c                      t               S r   r1   )v6v7s   r!   r5   z$test_orthogonalize.<locals>.<lambda>   s    }R4 r    )
r   r
   base_vectorsr   r   r   r   r   r   
ValueError)r   abr   r   r   v4v5r2   r3   r4   r7   r8   s           @@@@@r!   test_orthogonalizer?      s   3A5$'DAqnnGAq!	
QqSB	
1qsB	
1qsB	
1qB	
1qsB	
1qsB	
1Q1QBR QSS1QSS5[!##hq!n2DtAv2M$NNNNRT2
DH*acc	"	R!##~b0	0DH9acc/"2D$r(
TUTWTWGWXZGZ2Z[\ \ \
:89
:45r    N)(sympy.vector.vectorr   sympy.vector.coordsysrectr   sympy.vector.functionsr   r   r   sympy.core.numbersr   sympy.core.singletonr	   sympy.core.symbolr
   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.matrices.immutabler   r'   sympy.testing.pytestr   r   r   r   r   q4q5orient_new_axisr   r   r   r   r   r   r"   r)   r?   r   r    r!   <module>rM      s    & 0 K K ' " % 9 ? C 'sO-. BBc2qss#c2qss#c2qss#HEV>6r    