
    UiF                     D    d dl Zd dlmZ d Zd Zd ZddZddZ	dd
Z
dS )    N)goldenc                 J   t          |                                           }d}dt          z  }t          dz  }t          j        g |
 |
 |
 dg|
 |
 | dg|
 |
 d|
 g|
 |
 d| g|
 | |
 dg|
 | | dg|
 | d|
 g|
 | d| g|
 d|
 |
 g|
 d|
 | g|
 d| |
 g|
 d| | g|
 |
 d|
 g|
 |
 d| g|
 |
 |
 dg|
 |
 | dg|
 | d|
 g|
 | d| g|
 | |
 dg|
 | | dg|
 d|
 |
 g|
 d|
 | g|
 d| |
 g|
 d| | g|
 |
 |
 dg|
 |
 | dg|
 |
 d|
 g|
 |
 d| g|
 | |
 dg|
 | | dg|
 | d|
 g|
 | d| g|
 d|
 |
 g|
 d|
 | g|
 d| |
 g|
 d| | gd|
 |
 |
 gd|
 |
 | gd|
 | |
 gd|
 | | gd|
 |
 |
 gd|
 |
 | gd|
 | |
 gd|
 | | gd|
 |
 |
 gd|
 |
 | gd|
 | |
 gd|
 | | g          }|                     t          j        ||f                    S )N      ?   r   )tetrahedralas_quatphinparray	from_quatconcatenate)clsg1abcg2s         /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/spatial/transform/_rotation_groups.pyicosahedralr      s   	S			!	!	#	#BAc	AaA	 /$QBQB? /$BQB?/$BAr?/$ BAr?/$ BQB?	/$
 BQB?/$ BAr?/$ BAr?/$ BA2r?/$ BA2r?/$ BA2r?/$ BA2r?/$ BAr?/$ BAr?/$ BQB?/$ BQB?/$  BAr?!/$" BAr?#/$$ BQB?%/$& BQB?'/$( BA2r?)/$* BA2r?+/$, BA2r?-/$. BA2r?//$0 BQB?1/$2 BQB?3/$4 BAr?5/$6 BAr?7/$8 BQB?9/$: BQB?;/$< BAr?=/$> BAr??/$@ BA2r?A/$B BA2r?C/$D BA2r?E/$F BA2r?G/$H rA2r?I/$J rA2r?K/$L rA2r?M/$N rA2r?O/$P rA2r?Q/$R rA2r?S/$T rA2r?U/$V rA2r?W/$X rA2r?Y/$Z rA2r?[/$\ rA2r?]/$^ rA2r?_/$ /
% /
%B` ==R11222    c                    t          |                                           }t          j        d          dz  }t          j        |
 dd|
 gd|
 d|
 gdd|
 |
 gdd| |
 gd| d|
 g| dd|
 gd|
 |
 dgd| |
 dg|
 d|
 dg| d|
 dg|
 |
 ddg| |
 ddgg          }|                     t          j        ||f                    S )Nr   r   )r   r   r
   sqrtr   r   r   r   r   r   r   s       r   
octahedralr   =   s   	S			!	!	#	#B


QA	QB1qb>r1qb>q1"qb>q1"qb>r1qb>B1qb>rA2q>rA2q>BA2q>BA2q>BAq>BAq># 
$ 
$B ==R11222r   c                 (   t          j        d          }d}t          j        || | |
 g|| |
 |
 g||
 | |
 g||
 |
 |
 g|| | | g|| |
 | g||
 | | g||
 |
 | gg          }|                     t          j        ||f                    S )N   r   )r
   eyer   r   r   r   s       r   r   r   O   s    	BA	ArA2r?rA2r?rA2r?rA2r?rA2r?rA2r?rA2r?rA2r?$ 
% 
%B ==R11222r   r   c                    t          | ||                                          }t          j        dt          j        |d          }t          j        t          j        t          j        |          t          j        |          t          j        |          g          j	        z  }t          j
        ||d          }|                     t          j        ||f                    S )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    	Q			'	'	)	)B[BE1u555F	BHQKKHIIK	KB	T	"	"	"B??2>2r(33444r   c                     t          j        ddt           j        z  |d          }t          j        |t          j        |          t          j        |          g          j        }|                     t          j        ||d                    S )Nr   r   Fr   r!   r"   )r
   r&   r'   r(   r)   r,   r.   r-   )r   r/   r#   r0   r1   s        r   r$   r$   f   sl    [AIq5999F	FBHQKK!5	6	6	8B??272t!444555r   Zc                    t          |t                    st          d          g d}||vr%t          dd                    |          z             |dv r|}d}nY|d d         dv r>|dd                                          r"|d d         }t          |dd                    }nt          d          |dk     rt          d	          d
                    |                                          }|dk    rt          |           S |dk    rt          |           S |dk    rt          |           S |dk    rt          | ||          S |dk    rt          | ||          S J )Nz!`group` argument must be a string)xyzXYr4   z`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   eS!! ><===333N>!!1DIIn4M4MMNNN	rrj	 	 U122Y%6%6%8%8	 rrE!""IKLLLqyy7888;;tzz||$$D}}3	3#	33	3U....	3c5t,,,,r   )r   )r4   )numpyr
   scipy.constantsr   r	   r   r   r   r2   r$   rL    r   r   <module>rP      s        ) ) ) ) ) )53 53 53p3 3 3$3 3 35 5 5 56 6 6 6           r   