
    H/PhH              
          d Z ddlmZ ddlZddlmc mZ ddl	m
Z
 ddlmZmZmZmZ  ej        dg          Z ej        ddg          Z ej        g d          dz  Z ej        g d	          dz  Z ej        g d
          dz  Z ej        g d          dz  Z ej        g d          dz  Z ej        g d          dz  Z ej        g d          dz  Z ej        g d          dz  Zeeeeeeeeeeg
Zd Z G d d          Z G d d          Z G d d          Z G d d          Z  G d d          Z! G d d          Z" G d  d!          Z# G d" d#          Z$ G d$ d%          Z% G d& d'          Z&dS )(zTests for legendre module.

    )reduceNpolyval)assert_almost_equalassert_raisesassert_equalassert_   )r         )r   r      )r   r   ir   #      )r      r   ir   ?   )r   i   r   ir         )r   ir   ;  r   iKr   i  )	r   r   ir   i  r   ir   i#     )
r   r   r   ir   ibF  r   itr   i{/  c                 .    t          j        | d          S )Ngư>)tol)leglegtrimxs    d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/polynomial/tests/test_legendre.pytrimr!      s    ;qd####    c                   &    e Zd Zd Zd Zd Zd ZdS )TestConstantsc                 >    t          t          j        ddg           d S )Nr   r
   )r   r   	legdomainselfs    r    test_legdomainzTestConstants.test_legdomain!   s    S]RG,,,,,r"   c                 <    t          t          j        dg           d S )Nr   )r   r   legzeror'   s    r    test_legzerozTestConstants.test_legzero$   s    S[1#&&&&&r"   c                 <    t          t          j        dg           d S Nr
   )r   r   legoner'   s    r    test_legonezTestConstants.test_legone'   s    SZ!%%%%%r"   c                 >    t          t          j        ddg           d S )Nr   r
   )r   r   legxr'   s    r    	test_legxzTestConstants.test_legx*   s    SX1v&&&&&r"   N)__name__
__module____qualname__r)   r,   r0   r3    r"   r    r$   r$      sP        - - -' ' '& & &' ' ' ' 'r"   r$   c                   V    e Zd Z ej        ddd          Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestArithmeticr   r
   d   c                    t          d          D ]}t          d          D ]}d| d| }t          j        t          ||          dz             }||xx         dz  cc<   ||xx         dz  cc<   t	          j        dg|z  dgz   dg|z  dgz             }t          t          |          t          |          |           d S Nr   At i=, j=r
   r   err_msg)rangenpzerosmaxr   legaddr   r!   r(   ijmsgtgtress         r    test_legaddzTestArithmetic.test_legadd1       q 	@ 	@A1XX @ @(a((Q((hs1ayy1}--A!A!j!Q!qc!eqck::T#YYS		3?????@	@ 	@r"   c                    t          d          D ]}t          d          D ]}d| d| }t          j        t          ||          dz             }||xx         dz  cc<   ||xx         dz  cc<   t	          j        dg|z  dgz   dg|z  dgz             }t          t          |          t          |          |           d S r<   )rA   rB   rC   rD   r   legsubr   r!   rF   s         r    test_legsubzTestArithmetic.test_legsub;   rM   r"   c                 V   t          t          j        dg          dg           t          t          j        dg          ddg           t          dd          D ]N}d|z  dz   }dg|z  dgz   }dg|dz
  z  ||z  d|dz   |z  gz   }t          t          j        |          |           Od S )Nr   r
   r   r   )r   r   legmulxrA   )r(   rG   tmpserrJ   s        r    test_legmulxzTestArithmetic.test_legmulxE   s    S[!%%s+++S[!%%1v...q! 	0 	0AA#'C#a%1#+C#q1u+3AE3; 77CS))3////		0 	0r"   c                    t          d          D ]}dg|z  dgz   }t          j        | j        |          }t          d          D ]}d| d| }dg|z  dgz   }t          j        | j        |          }t          j        ||          }t          j        | j        |          }	t          t          |          ||z   dz   k    |           t          |	||z  |           d S )Nr   r   r
   r=   r>   r?   )rA   r   legvalr   legmulr	   lenr   )
r(   rG   pol1val1rH   rI   pol2val2pol3val3s
             r    test_legmulzTestArithmetic.test_legmulN   s   q 
	B 
	BA3q5A3;D:dfd++D1XX B B(a((Q((s1us{z$&$//z$--z$&$//D		QUQY.444#D$t)SAAAAAB
	B 
	Br"   c                    t          d          D ]}t          d          D ]}d| d| }dg|z  dgz   }dg|z  dgz   }t          j        ||          }t          j        ||          \  }}t          j        t          j        ||          |          }	t          t          |	          t          |          |           d S )Nr   r=   r>   r   r
   r?   )rA   r   rE   legdivrX   r   r!   )
r(   rG   rH   rI   cicjrJ   quoremrK   s
             r    test_legdivzTestArithmetic.test_legdiv\   s    q 	@ 	@A1XX @ @(a((Q((SUaS[SUaS[jR((:c2..SjC!4!4c::T#YYS		3?????@	@ 	@r"   c           	      r   t          d          D ]}t          d          D ]}d| d| }t          j        |dz             }t          t          j        |g|z  t          j        dg                    }t	          j        ||          }t          t          |          t          |          |           d S )Nr   r=   r>   r
   r?   )
rA   rB   aranger   r   rX   arraylegpowr   r!   )r(   rG   rH   rI   crJ   rK   s          r    test_legpowzTestArithmetic.test_legpowg   s    q 	@ 	@A1XX @ @(a((Q((Ia!e$$SZ!Q!>>jA&&T#YYS		3?????@	@ 	@r"   N)r4   r5   r6   rB   linspacer   rL   rP   rU   r`   rg   rm   r7   r"   r    r9   r9   .   s        B3A@ @ @@ @ @0 0 0B B B	@ 	@ 	@@ @ @ @ @r"   r9   c                       e Zd Z ej        g d          Z ej        dee          Z ej        deee          Zej	        	                    d          dz  dz
  Z
 ee
g d          Zd Zd	 Zd
 Zd Zd ZdS )TestEvaluation)       @rq   rq   i,j->ij
i,j,k->ijkr   r   r   r
   )      ?rq   g      @c                    t          t          j        g dg          j        d           t	          j        dd          fdt          D             }t          d          D ]>}d| }||         }t          j        dg|z  dgz             }t          |||           ?t          d          D ]}d	g|z  }t	          j	        |          t          t          j        dg          j
        |           t          t          j        ddg          j
        |           t          t          j        g d
          j
        |           d S )Nr
   r   r   c                 0    g | ]}t          |          S r7   r   ).0rl   r   s     r    
<listcomp>z.TestEvaluation.test_legval.<locals>.<listcomp>   s!    ***qWQ]]***r"   
   r=   r?   r   r   )r
   r   r   )r   r   rW   sizerB   rn   LlistrA   r   rC   shape)r(   yrG   rI   rJ   rK   dimsr   s          @r    test_legvalzTestEvaluation.test_legval{   sQ   SZQC((-q111 KA****E***r 	7 	7A!++CA$C*QA,,CS#66666 q 	? 	?A3q5DAAs++14888A1v..4d;;;Ayyy117>>>>	? 	?r"   c                 ~   | j         \  }}}| j        \  }}}t          t          t          j        ||d d         | j                   ||z  }t	          j        ||| j                  }t          ||           t          j	        d          }	t	          j        |	|	| j                  }t          |j        dk               d S Nr   r   r   )r   r~   r   
ValueErrorr   legval2dc2dr   rB   onesr	   r}   
r(   x1x2x3y1y2y3rJ   rK   zs
             r    test_legval2dzTestEvaluation.test_legval2d   s    V
BV
B 	j#,BrrFDHEEE el2r48,,C%%% GFOOl1a**	V#$$$$$r"   c           	         | j         \  }}}| j        \  }}}t          t          t          j        |||d d         | j                   ||z  |z  }t	          j        |||| j                  }t          ||           t          j	        d          }	t	          j        |	|	|	| j                  }t          |j        dk               d S r   )r   r~   r   r   r   legval3dc3dr   rB   r   r	   r}   r   s
             r    test_legval3dzTestEvaluation.test_legval3d   s    V
BV
B 	j#,B2A2III eBhl2r2tx00C%%% GFOOl1aDH--	V#$$$$$r"   c                 B   | j         \  }}}| j        \  }}}t          j        d||          }t	          j        ||| j                  }t          ||           t          j        d          }	t	          j        |	|	| j                  }t          |j
        dk               d S )Nrr   r   )r   r   r   r   )r   r~   rB   einsumr   	leggrid2dr   r   r   r	   r}   r   s
             r    test_leggrid2dzTestEvaluation.test_leggrid2d   s    V
BV
B i	2r**mBDH--C%%% GFOOmAq$(++	X%&&&&&r"   c                 H   | j         \  }}}| j        \  }}}t          j        d|||          }t	          j        |||| j                  }t          ||           t          j        d          }	t	          j        |	|	|	| j                  }t          |j
        dk               d S )Nrs   r   )r   r   r   r   r   r   )r   r~   rB   r   r   	leggrid3dr   r   r   r	   r}   r   s
             r    test_leggrid3dzTestEvaluation.test_leggrid3d   s    V
BV
B ib"b11mBB11C%%% GFOOmAq!TX..	X%&&&&&r"   N)r4   r5   r6   rB   rj   c1dr   r   r   randomr   r   r~   r   r   r   r   r   r7   r"   r    rp   rp   q   s        
"(<<<
 
 C
")IsC
(
(C
")L#sC
0
0C 		  "Q&A<<<  A? ? ?*% % %"% % %"' ' '' ' ' ' 'r"   rp   c                        e Zd Zd Zd Zd ZdS )TestIntegralc                 T   t          t          t          j        dgd           t          t          t          j        dgd           t          t          t          j        dgdddg           t          t          t          j        dgdg           t          t          t          j        dgdg           t          t          t          j        dgd           t          dd	          D ]9}dg|dz
  z  dgz   }t          j        dg||
          }t          |ddg           :t          d	          D ]}|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t          j        |          }t          j        |d|g
          }t          j        |          }t          t          |          t          |                     t          d	          D ]a}|dz   }dg|z  dgz   }t          j        |          }t          j        |d|gd          }t          t          j
        d|          |           bt          d	          D ]}|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t          j        |          }t          j        |d|gd          }t          j        |          }t          t          |          t          |                     t          d	          D ]}t          dd	          D ]~}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d          }t          j        ||	          }t          t          |          t          |                     t          d	          D ]}t          dd	          D ]}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d|g
          }t          j        ||	t          t          |	                    
          }t          t          |          t          |                     t          d	          D ]}t          dd	          D ]}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d|gd          }t          j        ||	t          t          |	                    d          }t          t          |          t          |                     t          d	          D ]}t          dd	          D ]}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d|gd          }t          j        ||	t          t          |	                    d          }t          t          |          t          |                     d S )Nr         ?r   r
   )lbnd)sclaxisr   r   )mk)r   r   r   )r   r   r   r   )r   	TypeErrorr   legintr   rA   r   poly2legleg2polyr!   rW   list)
r(   rG   r   rK   r   polrJ   legpolr   rH   s
             r    test_legintzTestIntegral.test_legint   s   iaS"555j#*qc2666j#*qc1q!f===j#*qc<<<<j#*qcs;;;;iaSr:::: q! 	- 	-AQUqc!A*aSA+++CaV,,,, q 	6 	6Aa%C#a%1#+C#A+3'C\#&&FZ!s333F,v&&CS		4995555 q 	; 	;Aa%C#a%1#+C\#&&FZ!s<<<F
2v 6 6:::: q 	6 	6Aa%C#a%1#+C#A+3'C\#&&FZ!s:::F,v&&CS		4995555 q 	: 	:A1a[[ : :c!eqck!!!fq / /A*SA...CCj***#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq 6 6A*SA!555CCjT%((^^<<<#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq ? ?A*SA!2>>>CCjT%((^^"EEE#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq = =A*SA!!<<<CCjT%((^^CCC#DIItCyy9999:	: 	:r"   c                    t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |dd	          }t          ||           d S )
Nr      c                 6    g | ]}t          j        |          S r7   r   r   rx   rl   s     r    ry   z1TestIntegral.test_legint_axis.<locals>.<listcomp>(       6661A666r"   r   r   c                 6    g | ]}t          j        |          S r7   r   r   s     r    ry   z1TestIntegral.test_legint_axis.<locals>.<listcomp>,       4441A444r"   r
   c                 :    g | ]}t          j        |d           S )r   )r   r   r   s     r    ry   z1TestIntegral.test_legint_axis.<locals>.<listcomp>0  s'    999A+++999r"   r   )r   r   )rB   r   vstackTr   r   r   r(   r   rJ   rK   s       r    test_legint_axiszTestIntegral.test_legint_axis$  s    iv&&i66666779j1%%%C%%%i4444455j1%%%C%%%i99S999::j***C%%%%%r"   c                 L    t          t          j        dd          d           d S )Nr
   r   r   r   )r   r   r   r'   s    r    test_legint_zerointordz#TestIntegral.test_legint_zerointord4  s$    SZ	1--y99999r"   N)r4   r5   r6   r   r   r   r7   r"   r    r   r      sE        Q: Q: Q:f& & & : : : : :r"   r   c                        e Zd Zd Zd Zd ZdS )TestDerivativec           	      V   t          t          t          j        dgd           t          t          t          j        dgd           t          d          D ]L}dg|z  dgz   }t          j        |d          }t          t          |          t          |                     Mt          d          D ]s}t          dd          D ]`}dg|z  dgz   }t          j        t          j        ||          |          }t          t          |          t          |                     att          d          D ]u}t          dd          D ]b}dg|z  dgz   }t          j        t          j        ||d          |d          }t          t          |          t          |                     cvd S )	Nr   r   r   r   r
   r   r   )r   r   )
r   r   r   legderr   rA   r   r!   r   r   )r(   rG   rJ   rK   rH   s        r    test_legderzTestDerivative.test_legder:  s   iaS"555j#*qc2666 q 	/ 	/A#a%1#+C*SA&&&CcDII.... q 	: 	:A1a[[ : :c!eqckjC1!5!5!5;;;#DIItCyy9999: q 	: 	:A1a[[ : :c!eqckjC1!!<!<!<rJJJ#DIItCyy9999:	: 	:r"   c                 h   t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           d S )Nr   c                 6    g | ]}t          j        |          S r7   r   r   r   s     r    ry   z3TestDerivative.test_legder_axis.<locals>.<listcomp>W  r   r"   r   r   c                 6    g | ]}t          j        |          S r7   r   r   s     r    ry   z3TestDerivative.test_legder_axis.<locals>.<listcomp>[  r   r"   r
   )rB   r   r   r   r   r   r   r   s       r    test_legder_axiszTestDerivative.test_legder_axisS  s    iv&&i66666779j1%%%C%%%i4444455j1%%%C%%%%%r"   c                 R    d}t          t          j        |d          dg           d S )N)r
   r   r   r   r   r   )r   r   r   )r(   rl   s     r     test_legder_orderhigherthancoeffz/TestDerivative.test_legder_orderhigherthancoeff_  s+    SZ1%%s+++++r"   N)r4   r5   r6   r   r   r   r7   r"   r    r   r   8  sA        : : :2
& 
& 
&, , , , ,r"   r   c                   f    e Zd Zej                            d          dz  dz
  Zd Zd Zd Zd Z	dS )	
TestVanderrt   r   r
   c                 8   t          j        d          }t          j        |d          }t	          |j        dk               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8t          j	        ddgddgdd	gg          }t          j        |d          }t	          |j        d
k               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8d S )Nr   r   r   r   r
   .r   r      )r   r   r   )
rB   ri   r   	legvanderr	   r}   rA   r   rW   rj   )r(   r   vrG   coefs        r    test_legvanderzTestVander.test_legvanderg  s)   IaLLM!Q6!"""q 	@ 	@A3q5A3;D#q&	3:a+>+>???? Hq!fq!fq!f-..M!Q9$%%%q 	@ 	@A3q5A3;D#q&	3:a+>+>????	@ 	@r"   c                 n   | j         \  }}}t          j                            d          }t          j        ||ddg          }t          j        |||          }t          j        ||j                  }t          ||           t          j        |g|gddg          }t          |j
        dk               d S )Nr   r
   r   )r
   r   r   )r   rB   r   r   legvander2dr   dotflatr   r	   r}   r(   r   r   r   rl   vanrJ   rK   s           r    test_legvander2dzTestVander.test_legvander2dx  s    V
BIV$$ob"q!f--l2r1%%fS!&!!C%%% ordRD1a&11	Y&'''''r"   c                 v   | j         \  }}}t          j                            d          }t          j        |||g d          }t          j        ||||          }t          j        ||j                  }t          ||           t          j        |g|g|gg d          }t          |j
        dk               d S )N)r   r   r   r   )r
   r      )r   rB   r   r   legvander3dr   r   r   r   r	   r}   r   s           r    test_legvander3dzTestVander.test_legvander3d  s    V
BIY''ob"b)))44l2r2q))fS!&!!C%%% ordRD2$			::	Z'(((((r"   c                 H    t          t          t          j        dd           d S )Nr   r   )r   r   r   r   r'   s    r    test_legvander_negdegz TestVander.test_legvander_negdeg  s    j#-B?????r"   N)
r4   r5   r6   rB   r   r   r   r   r   r   r7   r"   r    r   r   c  sw        
	  "Q&A@ @ @"( ( () ) )@ @ @ @ @r"   r   c                       e Zd Zd ZdS )TestFittingc           	         d }d }t          t          t          j        dgdgd           t          t          t          j        dggdgd           t          t          t          j        g dgd           t          t          t          j        dgdgggd           t          t          t          j        ddgdgd           t          t          t          j        dgddgd           t          t          t          j        dgdgddgg           t          t          t          j        dgdgdddg           t          t          t          j        dgdgdg           t          t          t          j        dgdgg d           t          t          t          j        dgdgg            t          j        dd          } ||          }t          j        ||d	          }t          t          |          d
           t          t          j
        ||          |           t          j        ||g d          }t          t          |          d
           t          t          j
        ||          |           t          j        ||d
          }t          t          |          d           t          t          j
        ||          |           t          j        ||g d          }t          t          |          d           t          t          j
        ||          |           t          j        ||g d          }t          t          |          d           t          t          j
        ||          |           t          j        |t          j        ||g          j        d	          }t          |t          j        ||g          j                   t          j        |t          j        ||g          j        g d          }t          |t          j        ||g          j                   t          j        |          }|                                }	d|dd d<   d|dd d<   t          j        ||	d	|          }
t          |
|           t          j        ||	g d|          }
t          |
|           t          j        |t          j        |	|	g          j        d	|          }t          |t          j        ||g          j                   t          j        |t          j        |	|	g          j        g d|          }t          |t          j        ||g          j                   g d}t          t          j        ||d          ddg           t          t          j        ||ddg          ddg           t          j        dd          } ||          }t          j        ||d
          }t          t          j
        ||          |           t          j        ||g d          }t          t          j
        ||          |           t          ||           d S )Nc                     | | dz
  z  | dz
  z  S )Nr
   r   r7   r   s    r    fz"TestFitting.test_legfit.<locals>.f  s    a!e9a!e$$r"   c                     | dz  | dz  z   dz   S )Nr   r   r
   r7   r   s    r    f2z#TestFitting.test_legfit.<locals>.f2  s    a4!Q$;?"r"   r
   r   r   r   )w)r   r   r   r   r   )r   r
   r   r   r   )r   r
   r   r   r   )r   r   r   r
   r   )r
   y              ?r   y             )r   r   r   )r   r   r   legfitr   rB   rn   r   rY   r   rW   rj   r   
zeros_likecopy)r(   r   r   r   r~   coef3coef4coef2dr   ywwcoef3wcoef2dcoef1coef2s                 r    test_legfitzTestFitting.test_legfit  s   	% 	% 	%	# 	# 	# 	j#*qcA3;;;iqcUQC;;;iR!a888iaSQC5'1===iaVaS!<<<iaS1a&!<<<iaS1#qaSEBBBBiaS1#qQFCCCCj#*qcA3>>>j#*qcA3


CCCiaS1#r::: K1AaDD
1a##SZZ###CJq%00!444
1a..SZZ###CJq%00!444
1a##SZZ###CJq%00!444
1a11SZZ###CJq%00!444
1a11SZZ###CJq%00!444ArxA//1155FBHeU^$<$<$>???ArxA//1<<<@@FBHeU^$<$<$>???M!VVXX!$Q$!$Q$Ar1***FE***Ar<<<1555FE****Q"b 2 2 4a1===GRXuen%=%=%?@@@*Q"b 2 2 4lllaHHHGRXuen%=%=%?@@@ CJq!Q//!Q888CJq!aV44q!f===KABqEE
1a##CJq%00!444
1a++CJq%00!444E5)))))r"   N)r4   r5   r6   r   r7   r"   r    r   r     s(        H* H* H* H* H*r"   r   c                        e Zd Zd Zd Zd ZdS )TestCompanionc                     t          t          t          j        g            t          t          t          j        dg           d S r.   )r   r   r   legcompanionr'   s    r    test_raiseszTestCompanion.test_raises  s4    j#"2B777j#"2QC88888r"   c                     t          dd          D ]8}dg|z  dgz   }t          t          j        |          j        ||fk               9d S )Nr
   r   r   )rA   r	   r   r   r}   )r(   rG   r   s      r    test_dimensionszTestCompanion.test_dimensions  s\    q! 	< 	<A3q5A3;DC$T**0QF:;;;;	< 	<r"   c                 `    t          t          j        ddg          d         dk               d S )Nr
   r   )r   r         )r	   r   r   r'   s    r    test_linear_rootzTestCompanion.test_linear_root  s/     !Q((.#566666r"   N)r4   r5   r6   r   r   r   r7   r"   r    r   r     sA        9 9 9< < <
7 7 7 7 7r"   r   c                       e Zd Zd ZdS )	TestGaussc                    t          j        d          \  }}t          j        |d          }t          j        |j        |z  |          }dt          j        |                                          z  }|d d d f         |z  |z  }t          |t          j	        d                     d}t          |
                                |           d S )Nr:   c   r
   rq   )r   leggaussr   rB   r   r   sqrtdiagonalr   eyesum)r(   r   r   r   vvvdrJ   s          r    test_100zTestGauss.test_100  s    |C  1
 M!R  VAC!GQrwr{{}}%%%4[2"Bs,,, AEEGGS)))))r"   N)r4   r5   r6   r  r7   r"   r    r  r    s#        * * * * *r"   r  c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestMiscc           	          t          j        g           }t          t          |          dg           t	          dd          D ]}t          j        t          j        t
          j         dd|z  dz             dd d                   }t          j        |          }t          j	        ||          }d}t          t          |          |dz   k               t          t          j        |          d         d           t          ||           d S )Nr
   r   r   r   r   )r   legfromrootsr   r!   rA   rB   cosrn   pirW   r	   rY   r   )r(   rK   rG   rootsr   rJ   s         r    test_legfromrootszTestMisc.test_legfromroots  s    r""DIIs+++q! 	* 	*AF2;vq!A#'::14a4@AAE"5))C*UC((CCCHHA%&&&S 1 1" 5q999S))))	* 	*r"   c                    t          t          j        dg          g            t          t          j        ddg          dg           t          dd          D ]h}t	          j        dd|          }t          j        t          j        |                    }t          t          |          t          |                     id S )Nr
   r   r   r   r   )r   r   legrootsrA   rB   rn   r  r!   )r(   rG   rJ   rK   s       r    test_legrootszTestMisc.test_legroots  s    CL!--r222CL!Q003%888q! 	6 	6A+b!Q''C,s/4455CS		4995555	6 	6r"   c                 B   g d}t          t          t          j        |d           t	          t          j        |          |d d                    t	          t          j        |d          |d d                    t	          t          j        |d          dg           d S )N)r   r   r
   r   r   r
   r   r   r   )r   r   r   r   r   )r(   r   s     r    test_legtrimzTestMisc.test_legtrim  s    }} 	j#+tR888 	S[&&SbS	222S[q))49555S[q))A3/////r"   c                 P    t          t          j        dd          ddg           d S )Nr   r   r   r   legliner'   s    r    test_leglinezTestMisc.test_legline&  s(    S[A&&A/////r"   c                 N    t          t          j        dd          dg           d S )Nr   r   r  r'   s    r    test_legline_zerosclzTestMisc.test_legline_zeroscl)  s&    S[A&&,,,,,r"   c                     t          d          D ]7}t          t          j        dg|z  dgz             t          |                    8d S Nrz   r   r
   )rA   r   r   r   r|   r(   rG   s     r    test_leg2polyzTestMisc.test_leg2poly,  sR    r 	E 	EAaSUaS[ 9 958DDDD	E 	Er"   c                     t          d          D ]7}t          t          j        t          |                   dg|z  dgz              8d S r!  )rA   r   r   r   r|   r"  s     r    test_poly2legzTestMisc.test_poly2leg0  sR    r 	E 	EAU1X 6 6ADDDD	E 	Er"   c                 ~    t          j        ddd          }d}t          j        |          }t	          ||           d S )Nr   r
      ru   )rB   rn   r   	legweightr   )r(   r   rJ   rK   s       r    test_weightzTestMisc.test_weight4  s?    KAr""mAC%%%%%r"   N)r4   r5   r6   r  r  r  r  r  r#  r%  r)  r7   r"   r    r  r    s        
* 
* 
*6 6 6	0 	0 	00 0 0- - -E E EE E E& & & & &r"   r  )'__doc__	functoolsr   numpyrB   numpy.polynomial.legendre
polynomiallegendrer   numpy.polynomial.polynomialr   numpy.testingr   r   r   r	   rj   L0L1L2L3L4L5L6L7L8L9r|   r!   r$   r9   rp   r   r   r   r   r   r  r  r7   r"   r    <module>r<     s              ' ' ' ' ' ' ' ' ' / / / / / /            RXqc]]RXq!fRXjjj!RXmmmQRX   !!!#RX$$$%%a'RX+++,,R/RX///003RX999::3>RX???@@D	RRRRR0$ $ $' ' ' ' ' ' ' '@@ @@ @@ @@ @@ @@ @@ @@F[' [' [' [' [' [' [' ['|f: f: f: f: f: f: f: f:R), ), ), ), ), ), ), ),V0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@fJ* J* J* J* J* J* J* J*Z7 7 7 7 7 7 7 7* * * * * * * *&3& 3& 3& 3& 3& 3& 3& 3& 3& 3&r"   