
    -iiP                        d dl Z d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZ d dlmZ d dlmZ ej        j        Zefd	Zd
 Zd Zd Zej                            d ee                    d             Z G d d          Z  ee           G d de                       Z! edd           G d de                       Z" edd           G d de!                      Z#dS )    N)LinAlgError)xp_assert_closemake_xp_test_case)Halton)cKDTree)
_AVAILABLE_SCALE_INVARIANT_NAME_TO_MIN_DEGREERBFInterpolator_get_backend)_rbfinterp_pythran)_run_concurrent_barrierc                     t          |          }|                    | j        d         ||          }|                    | ||          S )N   )r   _monomial_powersshapepolynomial_matrix)xdegreexpbackendpowerss        l/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/scipy/interpolate/tests/test_rbfinterp.py_vandermonder      sF     2G%%agaj&"==F$$Q333    c                     | d d df         } d|                     |            d|                     d| z            z  z
  d|                     d| z            z  z   z  }|S )Nr   g
ףp=
@      exp)r   r   ys      r   _1d_test_functionr$      s^     	
!!!Q$AbffaRjj1RVVBqD\\>)AbffRTllN:;AHr   c                    | d d df         | d d df         }}d|                     d|z  dz
  dz   dz  d|z  dz
  dz  dz  z
            z  }d|                     d|z  dz   dz   dz  d|z  dz   dz  z
            z  }d	|                     d|z  d
z
  dz   dz  d|z  dz
  dz  dz  z
            z  }d|                     d|z  dz
  dz   d|z  d
z
  dz  z
            z  }||z   |z   |z   }|S )Nr   r   g      ?	      r   1   
   g      ?   r   gɿr!   )	r   r   x1x2term1term2term3term4r#   s	            r   _2d_test_functionr1   "   s%    qqq!tWa1gB266AbDFQ;,q.AbDFQ;q=8999E266AbDFQ;,r/QrT!VRK7888E"&&1R46A+a1R46A+a-7888E266AbDFQ;,!B$q&14555E%AHr   c                 p   d}d}dD ]-}t          |dt          j                                                  }t	          |          D ]}d|                    |          z  dz
  }t          j        ||           }t          ||dz
            }	t          j        	                    |	d	          \  }
}|
d d |	j
        d         d f         }|j                            |                              |          }	 t          j                            |           # t          j        j        $ r Y   dS w xY w/d
S )Nr)   d   )r   r'   r   r      Fscrambleseedr'   r   complete)modeT)r   nprandomRandomStateranger   _kernel_matrixr   linalgqrr   Tdotcholeskyr   )kernelmnxntestsndimseq_r   APQRQ2Bs                 r   #_is_conditionally_positive_definiterQ   .   s?    
BF   TE	0E0E0G0GHHHv 	 	A#**R.. 1$A"1!V<<AQA&&A9<<
<33DAq
 111agajkk>"B##A	""1%%%%9(   uuuu	  4s   7DD10D1rD   c                 Z    t          j        | d          dz   }t          | |          sJ d S )Nr   )r
   getrQ   )rD   rE   s     r   $test_conditionally_positive_definiterU   M   s7    
 	++a/A.vq9999999r   c                      e Zd Zej                            d ee                    d             Zej                            d ee                    d             Z	ej                            d ee
                    d             Zd Zej        j        d             Zd Zd Zej                            d ee
                    d	             Zej                            d ee
                    d
             Zej                            d ee
                    d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z edd           edd          d                         Z d Z!d Z"dS )_TestRBFInterpolatorrD   c                    t          ddt          j                                                  }d|                    d          z  }|                    |          }t          ||          }d|                    d          z  }|                    |          } |                     ||d|          |          } |                     ||d|          |          }t          ||d	
           d S )Nr   Fr5   r   2         ?epsilonrD          @:0yE>atol)r   r:   r;   r<   asarrayr$   buildr   	selfrD   r   rI   r   r#   xitpyitp1yitp2s	            r   test_scale_invariance_1dz-_TestRBFInterpolator.test_scale_invariance_1dW   s     QRY-B-B-D-DEEEcjjnnJJqMMa$$Bzz$<

1aV
<<TBB<

1aV
<<TBBu4000000r   c                    t          ddt          j                                                  }|                    d          }|                    |          }t          ||          }|                    d          }|                    |          } |                     ||d|          |          } |                     ||d|          |          }t          ||d	           d S )
Nr'   Fr5   r3   rZ   r[   r]   r^   r_   )r   r:   r;   r<   ra   r1   rb   r   rc   s	            r   test_scale_invariance_2dz-_TestRBFInterpolator.test_scale_invariance_2dg   s     QRY-B-B-D-DEEEJJsOOJJqMMa$$zz#zz$<

1aV
<<TBB<

1aV
<<TBBu4000000r   c                    t          ddt          j                                                  }d}d}|                    d          }|                    |          }t          ||          }|                    d          }|                    |          }|t          v rO |                     |||          |          }	 |                     ||z  |z   ||          ||z  |z             }
nS |                     ||d|	          |          }	 |                     ||z  |z   |d|z  |	          ||z  |z             }
t          |	|
d
           d S )Nr'   Fr5   gd~QJgAjZKr3   rD         @r[   r^   r_   )	r   r:   r;   r<   ra   r1   r	   rb   r   )rd   rD   r   rI   scaleshiftr   r#   re   rf   rg   s              r   test_extreme_domainsz)_TestRBFInterpolator.test_extreme_domainsw   s~    QRY-B-B-D-DEEEJJsOOJJqMMa$$zz#zz$%%%3DJJq!FJ33D99EDJJ%%    u*u$& &EE
 ADJJq!SJ@@FFEDJJ%%E	    u*u$	& &E 	u4000000r   c                 @   t           j                            d          }t          dd|          }d}|                    d          }|                    d          }|                    |          }|                    |          }t          |||          }t          |||          }|                    dd|j        d	                   }	|                    |	          }	||	z  }
||	z  } |                     ||
|
          |          }t          ||d           d S )Nr   r'   Fr5   r   rY           rZ   r   r   r^   r_   )
r:   r;   r<   r   ra   r   normalr   rb   r   )rd   r   rngrI   r   r   re   rL   Pitppoly_coeffsr#   rf   rg   s                r   test_polynomial_reproductionz1_TestRBFInterpolator.test_polynomial_reproduction   s    i##A&&QS111JJrNNzz"~~JJqMMzz$FB''D&"--jjc171:66jj--O{"/

1a
//55u4000000r   c                    t           j                            d          }t          dd|          }d}d}|                    d          }|                    |          }|                    |          }|                    |          }t          |||          }	t          |||          }
|                    dd	|	j        d
                   }|                    |          }|	|z  }|
|z  }|                     |||          }|j	        fd}|
                    |d|            ||          }t          ||d           d S )Nr   r'   Fr5   r   i	  rY   rr   rZ   r   rs   c                  @    |                     d            | i |S )Nr3   )memory_budget)update)argskwargsce_reals     r   _chunk_evaluatorz<_TestRBFInterpolator.test_chunking.<locals>._chunk_evaluator   s,    MMM,,,7D+F+++r   r   r^   r_   )r:   r;   r<   r   ra   r   rt   r   rb   r   setattrr   )rd   monkeypatchr   ru   rI   r   largeNr   re   rL   rv   rw   r#   rf   interpr   rg   r   s                    @r   test_chunkingz"_TestRBFInterpolator.test_chunking   sU   
 i##A&&QS111JJrNNzz&!!JJqMMzz$FB''D&"--jjc171:66jj--O{"Aq00)	, 	, 	, 	, 	, 	F$68HIIItu4000000r   c           	         t          ddt          j                                                  }|                    d          }|                    d          }|                    |          }|                    |          }|                    t          ||          t          |                    |d          |          g          j        } | 	                    ||          |          } | 	                    ||d d df                   |          } | 	                    ||d d df                   |          }t          |d d df         |           t          |d d df         |           d S )Nr'   Fr5   r3   r   )axisr   )r   r:   r;   r<   ra   stackr1   fliprA   rb   r   	rd   r   rI   r   re   r#   rf   rg   yitp3s	            r   test_vector_dataz%_TestRBFInterpolator.test_vector_data   s^    QRY-B-B-D-DEEEJJsOOzz#JJqMMzz$HH'2..'(:(:B??A B BBC 	
 !

1a  &&&

1a1g&&t,,&

1a1g&&t,,aaadU+++aaadU+++++r   c           	         t          ddt          j                                                  }|                    d          }|                    d          }t	          |t                    dt	          |d d d d df         t                    z  z   }t          |j        |||f          \  }}} |                     ||          |          } |                     ||j                  |          } |                     ||j	                  |          }t          |j        |           t          |j	        |           d S )Nr'   Fr5   r3   y              ?rS   )r   r:   r;   r<   r1   mapra   rb   realimagr   r   s	            r   test_complex_dataz&_TestRBFInterpolator.test_complex_data   s    QRY-B-B-D-DEEEJJsOOzz#a$$r*;Aaaa2gJ*K*K'KKaq\22
4 

1a  &&%

1af%%d++%

1af%%d++
E***
E*****r   c                    t          ddt          j                                                  }d|                    d          z  }d|                    d          z  }|                    |          }|                    |          }t          ||          }t          ||          } |                     ||d|          |          }|                    ||z
  dz            }	|	d	k     sJ d S )
Nr   Fr5   r   rY   rm   r[   r'   -C6?)r   r:   r;   r<   ra   r$   rb   mean
rd   rD   r   rI   r   re   r#   ytrueyitpmses
             r   test_interpolation_misfit_1dz1_TestRBFInterpolator.test_interpolation_misfit_1d   s     QRY-B-B-D-DEEEcjjnnBJJqMMzz$a$$!$++;tzz!QFz;;DAAggte|a'((V||||||r   c                    t          ddt          j                                                  }|                    d          }|                    d          }|                    |          }|                    |          }t          ||          }t          ||          } |                     ||d|          |          }|                    ||z
  dz            }	|	dk     sJ d S )Nr'   Fr5   r3   rm   r[   g-C6*?)r   r:   r;   r<   ra   r1   rb   r   r   s
             r   test_interpolation_misfit_2dz1_TestRBFInterpolator.test_interpolation_misfit_2d  s     QRY-B-B-D-DEEEJJsOOzz#JJqMMzz$a$$!$++;tzz!QFz;;DAAggte|a'((V||||||r   c           	      n   t           j                            d          }t          dd|          }d}d}d|                    ddd	          z  }d
|                    d          z  }t          |t                     |                    d|d          z   }	|                    |          }|                    |	          }	t          ||          }
d}|D ]]} |                     ||	d||          |          }|	                    |
                    ||
z
  dz                      }||k     rd} n^|sJ d S )Nr   r   Fr5   g?g?r)      r   r3   rr   )r3   rZ   )r\   	smoothingrD   r'   T)r:   r;   r<   r   linspacer$   rt   ra   rb   sqrtr   )rd   rD   r   ru   rI   noisermse_tolsmoothing_ranger   r#   r   rmse_within_tolr   ysmoothrmses                  r   test_smoothing_misfitz*_TestRBFInterpolator.test_smoothing_misfit   sW    i##A&&QS111bkk"a444cjjooa$$szz#uf'E'EEJJqMMJJqMM!!R((( 		 		Idjj1#	 !    !	" "G
 77277GeOa#78899Dh"&  r   c                 T   t           j                            d          }t          dd|          }d}|                    d          }t	          ||          }|                    dd|j        d                   }||z  }|                                }	|	d	xx         dz  cc<   t          j        d
          }
d|
d	<   t          |j
        ||||f          \  }}}}t          |j
        |	|
f          \  }	}
 |                     ||	|
          |          }t          ||d           d S )Nr   r   Fr5   r'   rY   rr   rZ   r)   )rY   g     @@r   r   r_   )r:   r;   r<   r   r   rt   r   copyzerosr   ra   rb   r   )rd   r   ru   rI   r   r   rL   rw   r#   y_with_outlierr   r   s               r   test_array_smoothingz)_TestRBFInterpolator.test_array_smoothing?  s-    i##A&&QS111JJrNNF##jjc171:66Orc!HUOO		""2:1k1/EFF1k1$'
^Y4O$P$P!	Atzz!^yzAA!DDad++++++r   c                    t          ddt          j                                                                      d          }t	          |t                    }t          ddt          j                                                                      d          }d}t          j        t          |          5   |                     ||          |           d d d            d S # 1 swxY w Y   d S )Nr'   Fr5   r)   r   zExpected the second axis of `x`match)	r   r:   r;   r<   r1   pytestraises
ValueErrorrb   )rd   r#   dr   r   s        r   $test_inconsistent_x_dimensions_errorz9_TestRBFInterpolator.test_inconsistent_x_dimensions_errorW  s    1u29+@+@+B+BCCCJJ2NNa$$1u29+@+@+B+BCCCJJ2NN1]:U333 	  	 DJJq!Q	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   5 C""C&)C&c                    t          j        ddd          d d d f         }t          j        d          }d}t          j        t
          |          5  |                     ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r4   zExpected the first axis of `d`r   r:   r   r   r   r   r   rb   rd   r#   r   r   s       r    test_inconsistent_d_length_errorz5_TestRBFInterpolator.test_inconsistent_d_length_errora  s    K1a  D)HQKK0]:U333 	 	JJq!	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A66A:=A:c                     t          j        ddd          }t          j        d          }d}t          j        t
          |          5  |                     ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r4   z"`y` must be a 2-dimensional array.r   r   r   s       r   test_y_not_2d_errorz(_TestRBFInterpolator.test_y_not_2d_errorh  s    K1a  HQKK4]:U333 	 	JJq!	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A,,A03A0c                 2   t          j        ddd          d d d f         }t          j        d          }t          j        d          }d}t	          j        t          |          5  |                     |||           d d d            d S # 1 swxY w Y   d S )Nr   r   r4   zExpected `smoothing` to ber   r   )r:   r   r   onesr   r   r   rb   )rd   r#   r   r   r   s        r   (test_inconsistent_smoothing_length_errorz=_TestRBFInterpolator.test_inconsistent_smoothing_length_erroro  s    K1a  D)HQKKGAJJ	,]:U333 	2 	2JJq!yJ111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   &BBBc                 
   t          j        ddd          d d d f         }t          j        d          }d}t          j        t
          |          5  |                     ||d           d d d            d S # 1 swxY w Y   d S )Nr   r   r4   z`kernel` must be one ofr   testrl   r   r   s       r   test_invalid_kernel_name_errorz3_TestRBFInterpolator.test_invalid_kernel_name_errorw  s    K1a  D)HQKK)]:U333 	, 	,JJq!FJ+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,   A88A<?A<c                 0   t          j        ddd          d d d f         }t          j        d          }t          D ]Y}|t          v rd}t          j        t          |          5  |                     |||           d d d            n# 1 swxY w Y   Zd S )Nr   r   r4   z`epsilon` must be specifiedr   rl   )	r:   r   r   r   r	   r   r   r   rb   )rd   r#   r   rD   r   s        r    test_epsilon_not_specified_errorz5_TestRBFInterpolator.test_epsilon_not_specified_error~  s    K1a  D)HQKK  	0 	0F)))1Ez777 0 0

1a
///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	0 	0s   %B

B	B	c                 D   t          j        ddd          d d d f         }t          j        ddd          }t          j        d          }d}t          j        t
          |          5   |                     ||          |           d d d            d S # 1 swxY w Y   d S )Nr   r   r4   z"`x` must be a 2-dimensional array.r   r   )rd   r#   r   r   r   s        r   test_x_not_2d_errorz(_TestRBFInterpolator.test_x_not_2d_error  s    K1a  D)K1a  HQKK4]:U333 	  	 DJJq!Q	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   ( BBBc                 
   t          j        ddd          d d d f         }t          j        d          }d}t          j        t
          |          5  |                     ||d           d d d            d S # 1 swxY w Y   d S )Nr   r   z#At least 2 data points are requiredr   thin_plate_splinerl   r   r   s       r   "test_not_enough_observations_errorz7_TestRBFInterpolator.test_not_enough_observations_error  s    K1a  D)HQKK5]:U333 	9 	9JJq!$7J888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9r   c           
      V   t          j        ddd          d d d f         }t          j        d          }t          j                    D ]`\  }}|dk    rUd| }t          j        t          |          5  |                     ||d||dz
             d d d            n# 1 swxY w Y   ad S )Nr   r   r4   z`degree` should not be below r   rZ   r\   rD   r   )	r:   r   r   r
   itemsr   warnsWarningrb   )rd   r#   r   rD   degr   s         r   test_degree_warningz(_TestRBFInterpolator.test_degree_warning  s   K1a  D)HQKK.466 	O 	OKFCaxx===\'777 O OJJq!SAJNNNO O O O O O O O O O O O O O O		O 	Os   3BB!	$B!	c                     t          j        ddd          d d d f         }t          j        d          }t          j                    D ]\  }}|                     ||d|d            d S )Nr   r   r4   rZ   rS   r   )r:   r   r   r
   r   rb   )rd   r#   r   rD   rJ   s        r   test_minus_one_degreez*_TestRBFInterpolator.test_minus_one_degree  sx    K1a  D)HQKK,244 	D 	DIFAJJq!SJCCCC	D 	Dr   z	jax.numpyz+solve raises no error for a singular matrix)reasoncupyc                    |                     ddgddgddgg          }|                     g d          }d}t          j        t          |          5   |                     ||d          |           d d d            d S # 1 swxY w Y   d S )	Nr]   rr   rZ   )rr   rr   rr   zdoes not have full column rankr   r   rl   )ra   r   r   r   rb   )rd   r   r#   r   r   s        r   test_rank_errorz$_TestRBFInterpolator.test_rank_error  s    
 JJc
S#Jc
;<<JJ''0];e444 	< 	<8DJJq!$7J88;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   "BB	Bc                     dD ]f}|                     d|f          }|                    d|j                  } |                     ||d          |          }t	          ||           gd S )N)r   r'   r   r   )r   )dtypelinearrl   )r   r   float64rb   r   )rd   r   dimr#   r   fs         r   test_single_pointz&_TestRBFInterpolator.test_single_point  s}      	" 	"C!S""ABJ//A1

1a
11!44AAq!!!!		" 	"r   c                    t          ddt          j                            d                    }d|                    d          z  }d|                    d          z  }|                    |          |                    |          }}t          ||          }|                     ||          } ||          } t          j        t          j	        |                    |          }t          ||d           d S )	Nr   Fl   e r5   r   rY   gؗҜ<r_   )r   r:   r;   r<   ra   r$   rb   pickleloadsdumpsr   )	rd   r   rI   r   re   r#   r   rf   rg   s	            r   test_pickleablez$_TestRBFInterpolator.test_pickleable  s     QRY-B-B:-N-NOOOcjjnnB**Q--D!1!14a$$Aq!!t2V\&1122488u5111111r   N)#__name__
__module____qualname__r   markparametrizesortedr	   rh   rj   r   rp   rx   slowr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   skip_xp_backendsr   r   r    r   r   rW   rW   V   s       [Xvv.>'?'?@@1 1 A@1 [Xvv.>'?'?@@1 1 A@1 [Xvvj'9'9::1 1 ;:1<1 1 12 [!1 !1 !1F, , ,*+ + +& [Xvvj'9'9::  ;:$ [Xvvj'9'9::  ;:" [Xvvj'9'9::  ;:<, , ,0         2 2 2, , ,	0 	0 	0     9 9 9O O OD D D k*WXXXf%RSSS< < TS YX<" " "2 2 2 2 2r   rW   c                        e Zd Zd Zd Zd ZdS ) TestRBFInterpolatorNeighborsNonec                     t          |i |S Nr   rd   r}   r~   s      r   rb   z&TestRBFInterpolatorNeighborsNone.build  s    ////r   c                    t          ddt          j                                                  }d}d}d|                    d          z  }d|                    d          z  }t	          |t                    } |                     ||||          |          }t          ||          }t          ||          }	|	                    t          j        	                    ||d           d	                   }
t          ||
d
           d S )Nr   Fr5   r       חArY   r   r   rcondr   r^   r_   )r   r:   r;   r<   r$   rb   r   rB   r?   lstsqr   rd   rI   r   r   r   re   r#   rf   rL   rv   rg   s              r   test_smoothing_limit_1dz8TestRBFInterpolatorNeighborsNone.test_smoothing_limit_1d  s    QRY-B-B-D-DEEE	cjjnnBa$$

q    	  F##D&))AT::1=>>u4000000r   c                    t          ddt          j                                                  }d}d}|                    d          }|                    d          }t	          |t                    } |                     ||||          |          }t          ||          }t          ||          }	|	                    t          j        	                    ||d           d	                   }
t          ||
d
           d S )Nr'   Fr5   r   r   r3   r   r   r   r^   r_   )r   r:   r;   r<   r1   rb   r   rB   r?   r   r   r   s              r   test_smoothing_limit_2dz8TestRBFInterpolatorNeighborsNone.test_smoothing_limit_2d  s     QRY-B-B-D-DEEE	JJsOOzz#a$$

q    	  F##D&))AT::1=>>u4000000r   N)r   r   r   rb   r   r   r   r   r   r   r     sA        0 0 01 1 101 1 1 1 1r   r   Tzneighbors not None uses KDTree)np_onlyr   c                        e Zd Zd Zd Zd ZdS )TestRBFInterpolatorNeighbors20c                 "    t          |i |ddiS )N	neighborsr   r   r   s      r   rb   z$TestRBFInterpolatorNeighbors20.build
  s     ==="====r   c           	      (   t          ddt          j                                                  }|                    d          }|                    d          }t	          |t                    } |                     ||          |          }g }t          |          }|D ]_}|                    |d          \  }	}
|                     t          ||
         ||
                   |d                    d                    `t          ||d           d S )	Nr'   Fr5   r3   r   r   r^   r_   )r   r:   r;   r<   r1   rb   r   queryappendr   r   )rd   rI   r   re   r#   rf   rg   treexirJ   nbrs              r   #test_equivalent_to_rbf_interpolatorzBTestRBFInterpolatorNeighbors20.test_equivalent_to_rbf_interpolator  s    QRY-B-B-D-DEEEJJsOOzz#a$$ 

1a  &&qzz 	G 	GBZZB''FAsLL83388DBB1EFFFFu4000000r   c                 8   t          ddt          j                            d                    }|                    d          }|                    d          }t	          |t                    }|                     ||          }d }t          d|||           d S )Nr'   Fr   r5   r3   c                      ||           d S r   r   )rJ   r   r   s      r   	worker_fnzBTestRBFInterpolatorNeighbors20.test_concurrency.<locals>.worker_fn*  s    F2JJJJJr   r)   )r   r:   r;   r<   r1   rb   r   )rd   rI   r   re   r#   r   r  s          r   test_concurrencyz/TestRBFInterpolatorNeighbors20.test_concurrency  s     QRY-B-B1-E-EFFFJJsOOzz#a$$Aq!!	 	 	 	 Ivt<<<<<r   N)r   r   r   rb   r  r  r   r   r   r   r     sA        > > >1 1 1$= = = = =r   r   c                       e Zd Zd Zd ZdS )TestRBFInterpolatorNeighborsInfc                 6    t          |i |dt          j        iS )Nr  )r   r:   infr   s      r   rb   z%TestRBFInterpolatorNeighborsInf.build4  s"    AAA"&AAAAr   c                    t          ddt          j                                                  }d|                    d          z  }d|                    d          z  }t	          |t                    } |                     ||          |          } t          ||          |          }t          ||d           d S )Nr   Fr5   r   rY   r^   r_   )r   r:   r;   r<   r$   rb   r   r   )rd   rI   r   re   r#   rf   rg   s          r   r  zCTestRBFInterpolatorNeighborsInf.test_equivalent_to_rbf_interpolator7  s    QRY-B-B-D-DEEEcjjnnBa$$ 

1a  &&%1%%d++u4000000r   N)r   r   r   rb   r  r   r   r   r  r  0  s5        B B B
1 
1 
1 
1 
1r   r  )$r   r   numpyr:   numpy.linalgr   scipy._lib._array_apir   r   scipy.stats.qmcr   scipy.spatialr   scipy.interpolate._rbfinterpr   r	   r
   r   r   scipy.interpolater   scipy._lib._testutilsr   r   r   r   r$   r1   rQ   r   r   rU   rW   r   r   r  r   r   r   <module>r     sz         $ $ $ $ $ $ D D D D D D D D " " " " " " ! ! ! ! ! !              1 0 0 0 0 0 9 9 9 9 9 9;/   " 4 4 4 4  	 	 	  > 66*#5#566: : 76:w2 w2 w2 w2 w2 w2 w2 w2t ?##31 31 31 31 31'; 31 31 $#31l $'GHHH%= %= %= %= %=%9 %= %= IH%=P $'GHHH1 1 1 1 1&F 1 1 IH1 1 1r   