ó
    EñiF  ã                   óH   • S SK rS SKJr  S rS rS rS	S jrS	S jr	S
S jr
g)é    N)Úgoldenc                 ó4  • [        U 5      R                  5       nSnS[        -  n[        S-  n[        R                  " / U7U7U7S/PU7U7U* S/PU7U7SU7/PU7U7SU* /PU7U* U7S/PU7U* U* S/PU7U* SU7/PU7U* SU* /PU7SU7U7/PU7SU7U* /PU7SU* U7/PU7SU* U* /PU7U7SU7/PU7U7SU* /PU7U7U7S/PU7U7U* S/PU7U* SU7/PU7U* SU* /PU7U* U7S/PU7U* U* S/PU7SU7U7/PU7SU7U* /PU7SU* U7/PU7SU* U* /PU7U7U7S/PU7U7U* S/PU7U7SU7/PU7U7SU* /PU7U* U7S/PU7U* U* S/PU7U* SU7/PU7U* SU* /PU7SU7U7/PU7SU7U* /PU7SU* U7/PU7SU* U* /PSU7U7U7/PSU7U7U* /PSU7U* U7/PSU7U* U* /PSU7U7U7/PSU7U7U* /PSU7U* U7/PSU7U* U* /PSU7U7U7/PSU7U7U* /PSU7U* U7/PSU7U* U* /P5      nU R                  [        R                  " X45      5      $ )Nç      à?é   r   )ÚtetrahedralÚas_quatÚphiÚnpÚarrayÚ	from_quatÚconcatenate)ÚclsÚg1ÚaÚbÚcÚg2s         Úe/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/spatial/transform/_rotation_groups.pyÚicosahedralr      sõ  € Ü	�SÓ	×	!Ñ	!Ó	#€BØ€AØŒc‰	€AÜˆa‰€AÜ	�Šð /$�Q�B˜˜˜Q˜B �?ð /$Ø�B˜˜˜Q˜B �?ð/$à�B˜˜˜A ˜r�?ð/$ð �B˜˜˜A ˜r�?ð/$ð �B˜˜˜Q˜B �?ð	/$ð
 �B˜˜˜Q˜B �?ð/$ð �B˜˜˜A ˜r�?ð/$ð �B˜˜˜A ˜r�?ð/$ð �B˜˜A˜2 ˜r�?ð/$ð �B˜˜A˜2 ˜r�?ð/$ð �B˜˜A˜2 ˜r�?ð/$ð �B˜˜A˜2 ˜r�?ð/$ð �B˜˜˜A ˜r�?ð/$ð �B˜˜˜A ˜r�?ð/$ð �B˜˜˜Q˜B �?ð/$ð �B˜˜˜Q˜B �?ð/$ð  �B˜˜˜A ˜r�?ð!/$ð" �B˜˜˜A ˜r�?ð#/$ð$ �B˜˜˜Q˜B �?ð%/$ð& �B˜˜˜Q˜B �?ð'/$ð( �B˜˜A˜2 ˜r�?ð)/$ð* �B˜˜A˜2 ˜r�?ð+/$ð, �B˜˜A˜2 ˜r�?ð-/$ð. �B˜˜A˜2 ˜r�?ð//$ð0 �B˜˜˜Q˜B �?ð1/$ð2 �B˜˜˜Q˜B �?ð3/$ð4 �B˜˜˜A ˜r�?ð5/$ð6 �B˜˜˜A ˜r�?ð7/$ð8 �B˜˜˜Q˜B �?ð9/$ð: �B˜˜˜Q˜B �?ð;/$ð< �B˜˜˜A ˜r�?ð=/$ð> �B˜˜˜A ˜r�?ð?/$ð@ �B˜˜A˜2 ˜r�?ðA/$ðB �B˜˜A˜2 ˜r�?ðC/$ðD �B˜˜A˜2 ˜r�?ðE/$ðF �B˜˜A˜2 ˜r�?ðG/$ðH ˜�r˜A˜2 ˜r�?ðI/$ðJ ˜�r˜A˜2 ˜r�?ðK/$ðL ˜�r˜A˜2 ˜r�?ðM/$ðN ˜�r˜A˜2 ˜r�?ðO/$ðP ˜�r˜A˜2 ˜r�?ðQ/$ðR ˜�r˜A˜2 ˜r�?ðS/$ðT ˜�r˜A˜2 ˜r�?ðU/$ðV ˜�r˜A˜2 ˜r�?ðW/$ðX ˜�r˜A˜2 ˜r�?ðY/$ðZ ˜�r˜A˜2 ˜r�?ð[/$ð\ ˜�r˜A˜2 ˜r�?ð]/$ð^ ˜�r˜A˜2 ˜r�?ð_/$ó /
%€Bð` �=‰=œŸš¨¨Ó1Ó2Ð2ó    c                 ó†  • [        U 5      R                  5       n[        R                  " S5      S-  n[        R                  " U7SSU7/SU7SU7/SSU7U7/SSU* U7/SU* SU7/U* SSU7/SU7U7S/SU* U7S/U7SU7S/U* SU7S/U7U7SS/U* U7SS//5      nU R                  [        R                  " X45      5      $ )Nr   r   )r   r   r
   Úsqrtr   r   r   ©r   r   r   r   s       r   Ú
octahedralr   =   s  € Ü	�SÓ	×	!Ñ	!Ó	#€BÜ
�Š�‹
�Q‰€AÜ	�Š�Q�B˜˜1˜q˜b�>Ø˜�r˜1˜q˜b�>Ø�q˜1˜"˜q˜b�>Ø�q˜1˜"˜q˜b�>Ø˜�r˜1˜q˜b�>Ø�B˜˜1˜q˜b�>Ø˜�r˜A˜2˜q�>Ø˜�r˜A˜2˜q�>Ø�B˜˜A˜2˜q�>Ø�B˜˜A˜2˜q�>Ø�B˜˜˜A˜q�>Ø�B˜˜˜A˜q�>ð#ó 
$€Bð �=‰=œŸš¨¨Ó1Ó2Ð2r   c                 ó  • [         R                  " S5      nSn[         R                  " X"* U* U7/X"* U7U7/X"7U* U7/X"7U7U7/X"* U* U* /X"* U7U* /X"7U* U* /X"7U7U* //5      nU R                  [         R                  " X45      5      $ )Né   r   )r
   Úeyer   r   r   r   s       r   r   r   O   sº   € Ü	�Š�‹€BØ€AÜ	�Š�A�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?Ø�r˜A˜2 ˜r�?ð$ó 
%€Bð �=‰=œŸš¨¨Ó1Ó2Ð2r   c                 óÖ  • [        XU5      R                  5       n[        R                  " S[        R                  USS9n[        R                  [        R
                  " [        R                  " U5      [        R                  " U5      [        R                  " U5      /5      R                  -  n[        R                  " XRSS9nU R                  [        R                  " X645      5      $ )Nr   F©Úendpointé   ©Úaxis)ÚcyclicÚ	as_rotvecr
   ÚlinspaceÚpiÚvstackÚzerosÚcosÚsinÚTÚrollÚfrom_rotvecr   )r   Únr#   r   ÚthetasÚrvr   s          r   Údicyclicr2   ]   s•   € Ü	�˜Ó	×	'Ñ	'Ó	)€Bä�[Š[˜œBŸE™E 1¨uÑ5€FÜ	�‰”—’œBŸHšH Q›K¬¯ª°«¼¿ºÀ»ÐHÓI×KÑKÑ	K€BÜ	�Š� Ñ	"€BØ�?‰?œ2Ÿ>š>¨2¨(Ó3Ó4Ð4r   c                 ó0  • [         R                  " SS[         R                  -  USS9n[         R                  " U[         R                  " U5      [         R                  " U5      /5      R
                  nU R                  [         R                  " XBSS95      $ )Nr   r   Fr   r!   r"   )r
   r&   r'   r(   r)   r,   r.   r-   )r   r/   r#   r0   r1   s        r   r$   r$   f   sc   € Ü�[Š[˜˜A¤§¡™I q°5Ñ9€FÜ	�Š�FœBŸHšH Q›K¬¯ª°!«Ð5Ó	6×	8Ñ	8€BØ�?‰?œ2Ÿ7š7 2°!Ñ4Ó5Ð5r   c                 ó.  • [        U[        5      (       d  [        S5      e/ SQnX#;  a  [        SSR                  U5      -   5      eUS;   a  UnSnO@US S S;   a,  USS  R	                  5       (       a  US S n[        USS  5      nO[        S5      eUS:  a  [        S	5      eS
R                  UR                  5       5      nUS:X  a  [        U 5      $ US:X  a  [        U 5      $ US:X  a  [        U 5      $ US:X  a
  [        XUS9$ US:X  a
  [        XUS9$  e)Nz!`group` argument must be a string)ÚxÚyÚzÚXÚYÚZz`axis` must be one of z, )ÚIÚOr,   r!   )ÚCÚDz0`group` must be one of 'I', 'O', 'T', 'Dn', 'Cn'zGroup order must be positiveÚxyzr;   r<   r,   r>   r"   r=   )Ú
isinstanceÚstrÚ
ValueErrorÚjoinÚisdigitÚintÚindexÚlowerr   r   r   r2   r$   )r   Úgroupr#   Úpermitted_axesÚsymbolÚorders         r   Úcreate_grouprL   l   s#  € Ü�eœS×!Ñ!ÜÐ<Ó=Ð=â3€NØÓ!ÜÐ1°D·I±I¸nÓ4MÑMÓNÐNà�ÓØˆØ‰Ø	ˆr�ˆ�jÓ	  U¨1¨2 Y×%6Ñ%6×%8Ñ%8Ø�r˜�ˆÜ�E˜!˜"�I“‰äÐKÓLÐLàˆqƒyÜÐ7Ó8Ð8à�;‰;�t—z‘z“|Ó$€DØ�ƒ}Ü˜3ÓÐØ	�3‹Ü˜#‹ÐØ	�3‹Ü˜3ÓÐØ	�3‹Ü˜¨Ñ.Ð.Ø	�3‹Ü�c tÑ,Ð,àˆur   )r   )r:   )Únumpyr
   Úscipy.constantsr   r	   r   r   r   r2   r$   rL   © r   r   Ú<module>rP      s*   ðÛ Ý )ò53òp3ò$3ô5ô6õ r   