From 7640d32620c76a4f9aa88b4a1bea42f21faa3686 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 12 Jun 2022 11:37:33 +0300 Subject: [PATCH 01/38] WIP: record the refguide-check log Patch up refguide-check to record the history; switch off checking rst files --- refguide-check.log | 1790 +++++++++++++++++++++++++++++++++++++++ tools/refguide_check.py | 12 +- 2 files changed, 1801 insertions(+), 1 deletion(-) create mode 100644 refguide-check.log diff --git a/refguide-check.log b/refguide-check.log new file mode 100644 index 000000000000..91a3143ef212 --- /dev/null +++ b/refguide-check.log @@ -0,0 +1,1790 @@ +scipy.cluster +============= +scipy.cluster.hierarchy +======================= +{'ClusterNode': (0, 0), 'ClusterNode.get_count': (0, 0), 'ClusterNode.get_id': (0, 0), 'ClusterNode.get_left': (0, 0), 'ClusterNode.get_right': (0, 0), 'ClusterNode.is_leaf': (0, 0), 'ClusterNode.pre_order': (0, 0)} +{'DisjointSet': (0, 13), 'DisjointSet.__getitem__': (0, 0), 'DisjointSet.__iter__': (0, 0), 'DisjointSet.add': (0, 0), 'DisjointSet.connected': (0, 0), 'DisjointSet.merge': (0, 0), 'DisjointSet.subset': (0, 0), 'DisjointSet.subsets': (0, 0)} +{'average': (0, 10)} +{'centroid': (0, 10)} +{'complete': (0, 10)} +{'cophenet': (0, 7)} +{'correspond': (0, 6)} +{'cut_tree': (0, 8)} +{'dendrogram': (0, 12)} +{'fcluster': (0, 9)} +{'fclusterdata': (0, 3)} +{'from_mlab_linkage': (0, 5)} +{'inconsistent': (0, 6)} +{'is_isomorphic': (0, 11)} +{'is_monotonic': (0, 9)} +{'is_valid_im': (0, 10)} +{'is_valid_linkage': (0, 8)} +{'leaders': (0, 10)} +{'leaves_list': (0, 9)} +{'linkage': (0, 10)} +{'maxRstat': (0, 9)} +{'maxdists': (0, 6)} +{'maxinconsts': (0, 8)} +{'median': (0, 10)} +{'num_obs_linkage': (0, 5)} +{'optimal_leaf_ordering': (0, 6)} +{'set_link_color_palette': (0, 11)} +{'single': (0, 9)} +{'to_mlab_linkage': (0, 7)} +{'to_tree': (0, 8)} +{'ward': (0, 10)} +{'weighted': (0, 10)} +scipy.cluster.vq +================ +{'whiten': (0, 4)} +{'vq': (0, 6)} +{'kmeans': (0, 19)} +{'kmeans2': (0, 22)} +scipy.constants +=============== +{'Avogadro': (0, 0)} +{'Boltzmann': (0, 0)} +{'Btu': (0, 0)} +{'Btu_IT': (0, 0)} +{'Btu_th': (0, 0)} +{'ConstantWarning': (0, 0)} +{'G': (0, 0)} +{'Julian_year': (0, 0)} +{'N_A': (0, 0)} +{'Planck': (0, 0)} +{'R': (0, 0)} +{'Rydberg': (0, 0)} +{'Stefan_Boltzmann': (0, 0)} +{'Wien': (0, 0)} +{'acre': (0, 0)} +{'alpha': (0, 0)} +{'angstrom': (0, 0)} +{'arcmin': (0, 0)} +{'arcminute': (0, 0)} +{'arcsec': (0, 0)} +{'arcsecond': (0, 0)} +{'astronomical_unit': (0, 0)} +{'atm': (0, 0)} +{'atmosphere': (0, 0)} +{'atomic_mass': (0, 0)} +{'atto': (0, 0)} +{'au': (0, 0)} +{'bar': (0, 0)} +{'barrel': (0, 0)} +{'bbl': (0, 0)} +{'blob': (0, 0)} +{'c': (0, 0)} +{'calorie': (0, 0)} +{'calorie_IT': (0, 0)} +{'calorie_th': (0, 0)} +{'carat': (0, 0)} +{'centi': (0, 0)} +{'convert_temperature': (0, 2)} +{'day': (0, 0)} +{'deci': (0, 0)} +{'degree': (0, 0)} +{'degree_Fahrenheit': (0, 0)} +{'deka': (0, 0)} +{'dyn': (0, 0)} +{'dyne': (0, 0)} +{'e': (0, 0)} +{'eV': (0, 0)} +{'electron_mass': (0, 0)} +{'electron_volt': (0, 0)} +{'elementary_charge': (0, 0)} +{'epsilon_0': (0, 0)} +{'erg': (0, 0)} +{'exa': (0, 0)} +{'exbi': (0, 1)} +{'femto': (0, 0)} +{'fermi': (0, 0)} +{'find': (0, 5)} +{'fine_structure': (0, 0)} +{'fluid_ounce': (0, 0)} +{'fluid_ounce_US': (0, 0)} +{'fluid_ounce_imp': (0, 0)} +{'foot': (0, 0)} +{'g': (0, 0)} +{'gallon': (0, 0)} +{'gallon_US': (0, 0)} +{'gallon_imp': (0, 0)} +{'gas_constant': (0, 0)} +{'gibi': (0, 1)} +{'giga': (0, 0)} +{'golden': (0, 0)} +{'golden_ratio': (0, 0)} +{'grain': (0, 0)} +{'gram': (0, 0)} +{'gravitational_constant': (0, 0)} +{'h': (0, 0)} +{'hbar': (0, 0)} +{'hectare': (0, 0)} +{'hecto': (0, 0)} +{'horsepower': (0, 0)} +{'hour': (0, 0)} +{'hp': (0, 0)} +{'inch': (0, 0)} +{'k': (0, 0)} +{'kgf': (0, 0)} +{'kibi': (0, 1)} +{'kilo': (0, 0)} +{'kilogram_force': (0, 0)} +{'kmh': (0, 0)} +{'knot': (0, 0)} +{'lambda2nu': (0, 2)} +{'lb': (0, 0)} +{'lbf': (0, 0)} +{'light_year': (0, 0)} +{'liter': (0, 0)} +{'litre': (0, 0)} +{'long_ton': (0, 0)} +{'m_e': (0, 0)} +{'m_n': (0, 0)} +{'m_p': (0, 0)} +{'m_u': (0, 0)} +{'mach': (0, 0)} +{'mebi': (0, 1)} +{'mega': (0, 0)} +{'metric_ton': (0, 0)} +{'micro': (0, 0)} +{'micron': (0, 0)} +{'mil': (0, 0)} +{'mile': (0, 0)} +{'milli': (0, 0)} +{'minute': (0, 0)} +{'mmHg': (0, 0)} +{'mph': (0, 0)} +{'mu_0': (0, 0)} +{'nano': (0, 0)} +{'nautical_mile': (0, 0)} +{'neutron_mass': (0, 0)} +{'nu2lambda': (0, 2)} +{'ounce': (0, 0)} +{'oz': (0, 0)} +{'parsec': (0, 0)} +{'pebi': (0, 1)} +{'peta': (0, 0)} +{'physical_constants': (0, 0)} +{'pi': (0, 0)} +{'pico': (0, 0)} +{'point': (0, 0)} +{'pound': (0, 0)} +{'pound_force': (0, 0)} +{'precision': (0, 2)} +{'proton_mass': (0, 0)} +{'psi': (0, 0)} +{'pt': (0, 0)} +{'short_ton': (0, 0)} +{'sigma': (0, 0)} +{'slinch': (0, 0)} +{'slug': (0, 0)} +{'speed_of_light': (0, 0)} +{'speed_of_sound': (0, 0)} +{'stone': (0, 0)} +{'survey_foot': (0, 0)} +{'survey_mile': (0, 0)} +{'tebi': (0, 1)} +{'tera': (0, 0)} +{'ton_TNT': (0, 0)} +{'torr': (0, 0)} +{'troy_ounce': (0, 0)} +{'troy_pound': (0, 0)} +{'u': (0, 0)} +{'unit': (0, 2)} +{'value': (0, 2)} +{'week': (0, 0)} +{'yard': (0, 0)} +{'year': (0, 0)} +{'yobi': (0, 1)} +{'yocto': (0, 0)} +{'yotta': (0, 0)} +{'zebi': (0, 1)} +{'zepto': (0, 0)} +{'zero_Celsius': (0, 0)} +{'zetta': (0, 0)} +scipy.fft +========= +{'fft': (0, 9)} +{'ifft': (0, 11)} +{'fft2': (0, 3)} +{'ifft2': (0, 3)} +{'fftn': (0, 11)} +{'ifftn': (0, 10)} +{'rfft': (0, 3)} +{'irfft': (0, 3)} +{'rfft2': (0, 0)} +{'irfft2': (0, 0)} +{'rfftn': (0, 4)} +{'irfftn': (0, 4)} +{'hfft': (0, 6)} +{'ihfft': (0, 4)} +{'hfft2': (0, 0)} +{'ihfft2': (0, 0)} +{'hfftn': (0, 3)} +{'ihfftn': (0, 4)} +{'fftfreq': (0, 6)} +{'rfftfreq': (0, 8)} +{'fftshift': (0, 6)} +{'ifftshift': (0, 3)} +{'next_fast_len': (0, 8)} +{'dct': (0, 3)} +{'idct': (0, 3)} +{'dst': (0, 0)} +{'idst': (0, 0)} +{'dctn': (0, 4)} +{'idctn': (0, 4)} +{'dstn': (0, 4)} +{'idstn': (0, 4)} +{'fht': (0, 0)} +{'ifht': (0, 0)} +{'fhtoffset': (0, 0)} +{'set_backend': (0, 2)} +{'skip_backend': (0, 3)} +{'set_global_backend': (0, 3)} +{'register_backend': (0, 6)} +{'get_workers': (0, 3)} +{'set_workers': (0, 4)} +scipy.fftpack +============= +{'fft': (0, 3)} +{'ifft': (0, 4)} +{'fftn': (0, 3)} +{'ifftn': (0, 4)} +{'rfft': (0, 4)} +{'irfft': (0, 4)} +{'fft2': (0, 4)} +{'ifft2': (0, 4)} +{'diff': (0, 0)} +{'tilbert': (0, 0)} +{'itilbert': (0, 0)} +{'hilbert': (0, 0)} +{'ihilbert': (0, 0)} +{'sc_diff': (0, 0)} +{'cs_diff': (0, 0)} +{'cc_diff': (0, 0)} +{'ss_diff': (0, 0)} +{'shift': (0, 0)} +{'fftfreq': (0, 6)} +{'rfftfreq': (0, 7)} +{'fftshift': (0, 6)} +{'ifftshift': (0, 3)} +{'next_fast_len': (0, 8)} +{'dct': (0, 3)} +{'idct': (0, 3)} +{'dst': (0, 0)} +{'idst': (0, 0)} +{'dctn': (0, 4)} +{'idctn': (0, 4)} +{'dstn': (0, 4)} +{'idstn': (0, 4)} +scipy.fftpack.convolve +====================== +{} +{'convolve': (0, 0)} +{'convolve_z': (0, 0)} +{'init_convolution_kernel': (0, 0)} +scipy.integrate +=============== +{} +{'BDF': (0, 0)} +{'DOP853': (0, 0)} +{'DenseOutput': (0, 0), 'DenseOutput.__call__': (0, 0)} +{'IntegrationWarning': (0, 0)} +{'LSODA': (0, 0)} +{'OdeSolution': (0, 0), 'OdeSolution.__call__': (0, 0)} +{'OdeSolver': (0, 0), 'OdeSolver.dense_output': (0, 0), 'OdeSolver.step': (0, 0)} +{'RK23': (0, 0)} +{'RK45': (0, 0)} +{'Radau': (0, 0)} +{'complex_ode': (0, 0), 'complex_ode.integrate': (0, 0), 'complex_ode.set_initial_value': (0, 0), 'complex_ode.set_integrator': (0, 0), 'complex_ode.set_solout': (0, 0)} +{'cumtrapz': (0, 0)} +{'cumulative_trapezoid': (0, 7)} +{'dblquad': (0, 8)} +{'fixed_quad': (0, 8)} +{'newton_cotes': (0, 6)} +{'nquad': (0, 12)} +{'ode': (0, 9), 'ode.get_return_code': (0, 0), 'ode.integrate': (0, 0), 'ode.set_f_params': (0, 0), 'ode.set_initial_value': (0, 0), 'ode.set_integrator': (0, 0), 'ode.set_jac_params': (0, 0), 'ode.set_solout': (0, 0), 'ode.successful': (0, 0)} +{'odeint': (0, 14)} +{'quad': (0, 15)} +{'quad_vec': (0, 10)} +{'quadrature': (0, 6)} +{'romb': (0, 7)} +{'romberg': (0, 5)} +{'simps': (0, 0)} +{'simpson': (0, 8)} +{'solve_bvp': (0, 33)} +{'solve_ivp': (0, 31)} +{'tplquad': (0, 8)} +{'trapezoid': (0, 10)} +{'trapz': (0, 0)} +scipy.interpolate +================= +{'Akima1DInterpolator': (0, 0)} +{'BPoly': (0, 4), 'BPoly._construct_from_derivatives': (0, 0), 'BPoly._raise_degree': (0, 0), 'BPoly.antiderivative': (0, 0), 'BPoly.derivative': (0, 0), 'BPoly.extend': (0, 0), 'BPoly.from_derivatives': (0, 3), 'BPoly.from_power_basis': (0, 0), 'BPoly.integrate': (0, 0)} +{'BSpline': (0, 17), 'BSpline.__call__': (0, 0), 'BSpline._ensure_c_contiguous': (0, 0), 'BSpline.antiderivative': (0, 0), 'BSpline.basis_element': (0, 15), 'BSpline.construct_fast': (0, 0), 'BSpline.derivative': (0, 0), 'BSpline.design_matrix': (0, 15), 'BSpline.from_power_basis': (0, 0), 'BSpline.integrate': (0, 13), 'BSpline.tck': (0, 0)} +{'BarycentricInterpolator': (0, 0), 'BarycentricInterpolator.__call__': (0, 0), 'BarycentricInterpolator.add_xi': (0, 0), 'BarycentricInterpolator.set_yi': (0, 0)} +{'BivariateSpline': (0, 0), 'BivariateSpline.ev': (0, 0), 'BivariateSpline.integral': (0, 0)} +{'CloughTocher2DInterpolator': (0, 17)} +{'CubicHermiteSpline': (0, 0)} +{'CubicSpline': (0, 31), 'CubicSpline._validate_bc': (0, 0)} +{'InterpolatedUnivariateSpline': (0, 11)} +{'KroghInterpolator': (0, 8)} +{'LSQBivariateSpline': (0, 0)} +{'LSQSphereBivariateSpline': (0, 31)} +{'LSQUnivariateSpline': (0, 18)} +{'LinearNDInterpolator': (0, 17)} +{'NdPPoly': (0, 0), 'NdPPoly.__call__': (0, 0), 'NdPPoly._antiderivative_inplace': (0, 0), 'NdPPoly._derivative_inplace': (0, 0), 'NdPPoly.antiderivative': (0, 0), 'NdPPoly.construct_fast': (0, 0), 'NdPPoly.derivative': (0, 0), 'NdPPoly.integrate': (0, 0), 'NdPPoly.integrate_1d': (0, 0)} +{'NearestNDInterpolator': (0, 17), 'NearestNDInterpolator.__call__': (0, 0)} +{'PPoly': (0, 0), 'PPoly.antiderivative': (0, 0), 'PPoly.derivative': (0, 0), 'PPoly.from_bernstein_basis': (0, 0), 'PPoly.from_spline': (0, 0), 'PPoly.integrate': (0, 0), 'PPoly.roots': (0, 0), 'PPoly.solve': (0, 3)} +{'PchipInterpolator': (0, 0)} +{'RBFInterpolator': (0, 15), 'RBFInterpolator.__call__': (0, 0), 'RBFInterpolator._chunk_evaluator': (0, 0)} +{'Rbf': (0, 7)} +{'RectBivariateSpline': (0, 0)} +{'RectSphereBivariateSpline': (0, 20)} +{'RegularGridInterpolator': (0, 27), 'RegularGridInterpolator.__call__': (0, 7)} +{'SmoothBivariateSpline': (0, 0)} +{'SmoothSphereBivariateSpline': (0, 26)} +{'UnivariateSpline': (0, 17), 'UnivariateSpline.__call__': (0, 0), 'UnivariateSpline._from_tck': (0, 0), 'UnivariateSpline.antiderivative': (0, 9), 'UnivariateSpline.derivative': (0, 5), 'UnivariateSpline.derivatives': (0, 5), 'UnivariateSpline.get_coeffs': (0, 0), 'UnivariateSpline.get_knots': (0, 0), 'UnivariateSpline.get_residual': (0, 0), 'UnivariateSpline.integral': (0, 7), 'UnivariateSpline.roots': (0, 0), 'UnivariateSpline.set_smoothing_factor': (0, 0)} +{'approximate_taylor_polynomial': (0, 9)} +{'barycentric_interpolate': (0, 10)} +{'bisplev': (0, 0)} +{'bisplrep': (0, 0)} +{'griddata': (0, 25)} +{'insert': (0, 9)} +{'interp1d': (0, 9), 'interp1d.__init__': (0, 0), 'interp1d._call_nearest': (0, 0), 'interp1d._call_previousnext': (0, 0), 'interp1d._check_bounds': (0, 0), 'interp1d.fill_value': (0, 0)} +{'interp2d': (0, 14), 'interp2d.__call__': (0, 0)} +{'interpn': (0, 9)} +{'krogh_interpolate': (0, 10)} +{'lagrange': (0, 13)} +{'make_interp_spline': (0, 31)} +{'make_lsq_spline': (0, 21)} +{'pade': (0, 7)} +{'pchip_interpolate': (0, 10)} +{'spalde': (0, 0)} +{'splantider': (0, 9)} +{'splder': (0, 6)} +{'splev': (0, 0)} +{'splint': (0, 0)} +{'splprep': (0, 11)} +{'splrep': (0, 9)} +{'sproot': (0, 0)} +scipy.io +======== +{'FortranEOFError': (0, 0)} +{'FortranFile': (0, 9), 'FortranFile.close': (0, 0), 'FortranFile.read_ints': (0, 0), 'FortranFile.read_reals': (0, 0), 'FortranFile.read_record': (0, 0), 'FortranFile.write_record': (0, 0)} +{'FortranFormattingError': (0, 0)} +{'hb_read': (0, 5)} +{'hb_write': (0, 5)} +{'loadmat': (0, 19)} +{'mminfo': (0, 0)} +{'mmread': (0, 0)} +{'mmwrite': (0, 0)} +{'netcdf_file': (0, 21), 'netcdf_file.__init__': (0, 0), 'netcdf_file.close': (0, 0), 'netcdf_file.createDimension': (0, 0), 'netcdf_file.createVariable': (0, 0), 'netcdf_file.flush': (0, 0)} +{'netcdf_variable': (0, 0), 'netcdf_variable._apply_missing_value': (0, 0), 'netcdf_variable._default_encoded_fill_value': (0, 0), 'netcdf_variable._get_encoded_fill_value': (0, 0), 'netcdf_variable._get_missing_value': (0, 0), 'netcdf_variable.assignValue': (0, 0), 'netcdf_variable.getValue': (0, 0), 'netcdf_variable.isrec': (0, 0), 'netcdf_variable.itemsize': (0, 0), 'netcdf_variable.shape': (0, 0), 'netcdf_variable.typecode': (0, 0)} +{'readsav': (0, 8)} +{'savemat': (0, 5)} +{'whosmat': (0, 0)} +scipy.io.arff +============= +{'MetaData': (0, 0), 'MetaData.names': (0, 0), 'MetaData.types': (0, 0)} +{'loadarff': (0, 7)} +{} +{} +scipy.io.matlab +=============== +{'loadmat': (0, 19)} +{'savemat': (0, 5)} +{'whosmat': (0, 0)} +{'MatlabObject': (0, 0)} +{'matfile_version': (0, 0)} +{'MatReadError': (0, 0)} +{'MatReadWarning': (0, 0)} +{'MatWriteError': (0, 0)} +{'mat_struct': (0, 0)} +{'MatlabOpaque': (0, 0)} +{'MatlabFunction': (0, 0)} +scipy.io.wavfile +================ +{} +{'read': (0, 18)} +{'write': (0, 6)} +scipy.linalg +============ +{'LinAlgError': (0, 2)} +{'LinAlgWarning': (0, 0)} +{'bandwidth': (0, 3)} +{'block_diag': (0, 8)} +{'cdf2rdf': (0, 11)} +{'cho_factor': (0, 5)} +{'cho_solve': (0, 5)} +{'cho_solve_banded': (0, 7)} +{'cholesky': (0, 5)} +{'cholesky_banded': (0, 8)} +{'circulant': (0, 2)} +{'clarkson_woodruff_transform': (0, 30)} +{'companion': (0, 2)} +{'convolution_matrix': (0, 8)} +{'coshm': (0, 7)} +{'cosm': (0, 4)} +{'cossin': (0, 8)} +{'det': (0, 5)} +{'dft': (0, 8)} +{'diagsvd': (0, 4)} +{'eig': (0, 11)} +{'eig_banded': (0, 9)} +{'eigh': (0, 10)} +{'eigh_tridiagonal': (0, 6)} +{'eigvals': (0, 7)} +{'eigvals_banded': (0, 5)} +{'eigvalsh': (0, 4)} +{'eigvalsh_tridiagonal': (0, 7)} +{'expm': (0, 5)} +{'expm_cond': (0, 4)} +{'expm_frechet': (0, 16)} +{'fiedler': (0, 10)} +{'fiedler_companion': (0, 5)} +{'find_best_blas_type': (0, 7)} +{'fractional_matrix_power': (0, 5)} +{'funm': (0, 6)} +{'get_blas_funcs': (0, 7)} +{'get_lapack_funcs': (0, 14)} +{'hadamard': (0, 3)} +{'hankel': (0, 3)} +{'helmert': (0, 2)} +{'hessenberg': (0, 5)} +{'hilbert': (0, 2)} +{'inv': (0, 4)} +{'invhilbert': (0, 5)} +{'invpascal': (0, 6)} +{'ishermitian': (0, 11)} +{'issymmetric': (0, 6)} +{'khatri_rao': (0, 4)} +{'kron': (0, 3)} +{'ldl': (0, 9)} +{'leslie': (0, 2)} +{'logm': (0, 5)} +{'lstsq': (0, 17)} +{'lu': (0, 4)} +{'lu_factor': (0, 7)} +{'lu_solve': (0, 6)} +{'matmul_toeplitz': (0, 8)} +{'matrix_balance': (0, 6)} +{'norm': (0, 22)} +{'null_space': (0, 11)} +{'ordqz': (0, 5)} +{'orth': (0, 4)} +{'orthogonal_procrustes': (0, 5)} +{'pascal': (0, 6)} +{'pinv': (0, 6)} +{'pinvh': (0, 7)} +{'polar': (0, 17)} +{'qr': (0, 17)} +{'qr_delete': (0, 12)} +{'qr_insert': (0, 13)} +{'qr_multiply': (0, 8)} +{'qr_update': (0, 26)} +{'qz': (0, 9)} +{'rq': (0, 10)} +{'rsf2csf': (0, 8)} +{'schur': (0, 10)} +{'signm': (0, 4)} +{'sinhm': (0, 7)} +{'sinm': (0, 4)} +{'solve': (0, 6)} +{'solve_banded': (0, 5)} +{'solve_circulant': (0, 17)} +{'solve_continuous_are': (0, 8)} +{'solve_continuous_lyapunov': (0, 7)} +{'solve_discrete_are': (0, 9)} +{'solve_discrete_lyapunov': (0, 6)} +{'solve_lyapunov': (0, 7)} +{'solve_sylvester': (0, 7)} +{'solve_toeplitz': (0, 8)} +{'solve_triangular': (0, 6)} +{'solveh_banded': (0, 9)} +{'sqrtm': (0, 5)} +{'subspace_angles': (0, 9)} +{'svd': (0, 17)} +{'svdvals': (0, 15)} +{'tanhm': (0, 7)} +{'tanm': (0, 7)} +{'toeplitz': (0, 3)} +{'tri': (0, 3)} +{'tril': (0, 2)} +{'triu': (0, 2)} +scipy.linalg.blas +================= +{'get_blas_funcs': (0, 7)} +{'find_best_blas_type': (0, 7)} +scipy.linalg.lapack +=================== +{'get_lapack_funcs': (0, 14)} +scipy.linalg.interpolative +========================== +{'estimate_rank': (0, 0)} +{'estimate_spectral_norm': (0, 0)} +{'estimate_spectral_norm_diff': (0, 0)} +{'id_to_svd': (0, 0)} +{'interp_decomp': (0, 0)} +{'rand': (0, 0)} +{'reconstruct_interp_matrix': (0, 0)} +{'reconstruct_matrix_from_id': (0, 0)} +{'reconstruct_skel_matrix': (0, 0)} +{'seed': (0, 0)} +{'svd': (0, 0)} +scipy.misc +========== +{'central_diff_weights': (0, 8)} +{'derivative': (0, 3)} +{'ascent': (0, 8)} +{'face': (0, 9)} +{'electrocardiogram': (0, 32)} +scipy.ndimage +============= +{'affine_transform': (0, 0)} +{'binary_closing': (0, 12)} +{'binary_dilation': (0, 13)} +{'binary_erosion': (0, 6)} +{'binary_fill_holes': (0, 7)} +{'binary_hit_or_miss': (0, 8)} +{'binary_opening': (0, 8)} +{'binary_propagation': (0, 16)} +{'black_tophat': (0, 4)} +{'center_of_mass': (0, 10)} +{'convolve': (0, 13)} +{'convolve1d': (0, 2)} +{'correlate': (0, 5)} +{'correlate1d': (0, 2)} +{'distance_transform_bf': (0, 0)} +{'distance_transform_cdt': (0, 0)} +{'distance_transform_edt': (0, 9)} +{'extrema': (0, 6)} +{'find_objects': (0, 12)} +{'fourier_ellipsoid': (0, 12)} +{'fourier_gaussian': (0, 12)} +{'fourier_shift': (0, 12)} +{'fourier_uniform': (0, 12)} +{'gaussian_filter': (0, 15)} +{'gaussian_filter1d': (0, 14)} +{'gaussian_gradient_magnitude': (0, 11)} +{'gaussian_laplace': (0, 12)} +{'generate_binary_structure': (0, 13)} +{'generic_filter': (0, 0)} +{'generic_filter1d': (0, 0)} +{'generic_gradient_magnitude': (0, 0)} +{'generic_laplace': (0, 0)} +{'geometric_transform': (0, 11)} +{'grey_closing': (0, 5)} +{'grey_dilation': (0, 11)} +{'grey_erosion': (0, 9)} +{'grey_opening': (0, 5)} +{'histogram': (0, 6)} +{'iterate_structure': (0, 5)} +{'label': (0, 10)} +{'labeled_comprehension': (0, 9)} +{'laplace': (0, 11)} +{'map_coordinates': (0, 8)} +{'maximum': (0, 14)} +{'maximum_filter': (0, 11)} +{'maximum_filter1d': (0, 2)} +{'maximum_position': (0, 7)} +{'mean': (0, 8)} +{'median': (0, 7)} +{'median_filter': (0, 11)} +{'minimum': (0, 7)} +{'minimum_filter': (0, 11)} +{'minimum_filter1d': (0, 2)} +{'minimum_position': (0, 9)} +{'morphological_gradient': (0, 10)} +{'morphological_laplace': (0, 0)} +{'percentile_filter': (0, 11)} +{'prewitt': (0, 11)} +{'rank_filter': (0, 11)} +{'rotate': (0, 18)} +{'shift': (0, 0)} +{'sobel': (0, 11)} +{'spline_filter': (0, 9)} +{'spline_filter1d': (0, 10)} +{'standard_deviation': (0, 6)} +{'sum': (0, 0)} +{'sum_labels': (0, 6)} +{'uniform_filter': (0, 11)} +{'uniform_filter1d': (0, 2)} +{'variance': (0, 6)} +{'watershed_ift': (0, 0)} +{'white_tophat': (0, 4)} +{'zoom': (0, 12)} +scipy.odr +========= +{'Data': (0, 0), 'Data.__getattr__': (0, 0), 'Data.set_meta': (0, 0)} +{'Model': (0, 0), 'Model.__getattr__': (0, 0), 'Model.set_meta': (0, 0)} +{'ODR': (0, 0), 'ODR._check': (0, 0), 'ODR._gen_work': (0, 0), 'ODR.restart': (0, 0), 'ODR.run': (0, 0), 'ODR.set_iprint': (0, 0), 'ODR.set_job': (0, 0)} +{'OdrError': (0, 0)} +{'OdrStop': (0, 0)} +{'OdrWarning': (0, 0)} +{'Output': (0, 0), 'Output.pprint': (0, 0)} +{'RealData': (0, 0), 'RealData._cov2wt': (0, 0), 'RealData._sd2wt': (0, 0)} +{'exponential': (0, 7)} +{'multilinear': (0, 7)} +{'odr': (0, 0)} +{'polynomial': (0, 14)} +{'quadratic': (0, 7)} +{'unilinear': (0, 7)} +scipy.optimize +============== +{'BFGS': (0, 0), 'BFGS._update_hessian': (0, 0), 'BFGS._update_inverse_hessian': (0, 0)} +{'Bounds': (0, 0), 'Bounds.residual': (0, 0)} +{'HessianUpdateStrategy': (0, 0), 'HessianUpdateStrategy.dot': (0, 0), 'HessianUpdateStrategy.get_matrix': (0, 0), 'HessianUpdateStrategy.initialize': (0, 0), 'HessianUpdateStrategy.update': (0, 0)} +{'LbfgsInvHessProduct': (0, 0), 'LbfgsInvHessProduct.__init__': (0, 0), 'LbfgsInvHessProduct._matvec': (0, 0), 'LbfgsInvHessProduct.todense': (0, 0)} +{'LinearConstraint': (0, 0), 'LinearConstraint.residual': (0, 0)} +{'NonlinearConstraint': (0, 3)} +{'OptimizeResult': (0, 0)} +{} +{'RootResults': (0, 0)} +{'SR1': (0, 0)} +{'anderson': (0, 4)} +{'approx_fprime': (0, 6)} +{'basinhopping': (0, 21)} +{'bisect': (0, 6)} +{'bracket': (0, 14)} +{'brent': (0, 6)} +{'brenth': (0, 6)} +{'brentq': (0, 6)} +{'broyden1': (0, 4)} +{'broyden2': (0, 4)} +{'brute': (0, 10)} +{'check_grad': (0, 6)} +{'curve_fit': (0, 19)} +{'diagbroyden': (0, 4)} +{'differential_evolution': (0, 20)} +{'direct': (0, 7)} +{'dual_annealing': (0, 7)} +{'excitingmixing': (0, 0)} +{'fixed_point': (0, 5)} +{'fmin': (0, 4)} +{'fmin_bfgs': (0, 7)} +{'fmin_cg': (0, 10)} +{'fmin_cobyla': (0, 5)} +{'fmin_l_bfgs_b': (0, 0)} +{'fmin_ncg': (0, 0)} +{'fmin_powell': (0, 4)} +{'fmin_slsqp': (0, 0)} +{'fmin_tnc': (0, 0)} +{'fminbound': (0, 6)} +{'fsolve': (0, 5)} +{'golden': (0, 6)} +{'least_squares': (0, 57)} +{'leastsq': (0, 3)} +{'line_search': (0, 6)} +{'linear_sum_assignment': (0, 5)} +{'linearmixing': (0, 0)} +{'linprog': (0, 10)} +{'linprog_verbose_callback': (0, 0)} +{'lsq_linear': (0, 10)} +{'milp': (0, 12)} +{'minimize': (0, 12)} +{'minimize_scalar': (0, 6)} +{'newton': (0, 26)} +{'newton_krylov': (0, 8)} +{'nnls': (0, 6)} +{'quadratic_assignment': (0, 22)} +{'ridder': (0, 6)} +{'root': (0, 19)} +{'root_scalar': (0, 12)} +{'rosen': (0, 10)} +{'rosen_der': (0, 3)} +{'rosen_hess': (0, 3)} +{'rosen_hess_prod': (0, 4)} +{'shgo': (0, 24)} +{'toms748': (0, 5)} +scipy.signal +============ +{'BadCoefficients': (0, 0)} +{'CZT': (0, 14), 'CZT.__call__': (0, 0), 'CZT.points': (0, 0)} +{'StateSpace': (0, 11), 'StateSpace.A': (0, 0), 'StateSpace.B': (0, 0), 'StateSpace.C': (0, 0), 'StateSpace.D': (0, 0), 'StateSpace.__add__': (0, 0), 'StateSpace.__init__': (0, 0), 'StateSpace.__mul__': (0, 0), 'StateSpace.__neg__': (0, 0), 'StateSpace.__new__': (0, 0), 'StateSpace.__repr__': (0, 0), 'StateSpace.__rmul__': (0, 0), 'StateSpace.__truediv__': (0, 0), 'StateSpace._copy': (0, 0), 'StateSpace.to_ss': (0, 0), 'StateSpace.to_tf': (0, 0), 'StateSpace.to_zpk': (0, 0)} +{'TransferFunction': (0, 5), 'TransferFunction.__init__': (0, 0), 'TransferFunction.__new__': (0, 0), 'TransferFunction.__repr__': (0, 0), 'TransferFunction._copy': (0, 0), 'TransferFunction._z_to_zinv': (0, 0), 'TransferFunction._zinv_to_z': (0, 0), 'TransferFunction.den': (0, 0), 'TransferFunction.num': (0, 0), 'TransferFunction.to_ss': (0, 0), 'TransferFunction.to_tf': (0, 0), 'TransferFunction.to_zpk': (0, 0)} +{'ZerosPolesGain': (0, 3), 'ZerosPolesGain.__init__': (0, 0), 'ZerosPolesGain.__new__': (0, 0), 'ZerosPolesGain.__repr__': (0, 0), 'ZerosPolesGain._copy': (0, 0), 'ZerosPolesGain.gain': (0, 0), 'ZerosPolesGain.poles': (0, 0), 'ZerosPolesGain.to_ss': (0, 0), 'ZerosPolesGain.to_tf': (0, 0), 'ZerosPolesGain.to_zpk': (0, 0), 'ZerosPolesGain.zeros': (0, 0)} +{'ZoomFFT': (0, 10)} +{'abcd_normalize': (0, 0)} +{'argrelextrema': (0, 5)} +{'argrelmax': (0, 5)} +{'argrelmin': (0, 5)} +{'band_stop_obj': (0, 0)} +{'barthann': (0, 17)} +{'bartlett': (0, 17)} +{'bessel': (0, 47)} +{'besselap': (0, 0)} +{'bilinear': (0, 14)} +{'bilinear_zpk': (0, 14)} +{'blackman': (0, 18)} +{'blackmanharris': (0, 17)} +{'bode': (0, 9)} +{'bohman': (0, 17)} +{'boxcar': (0, 17)} +{'bspline': (0, 6)} +{'buttap': (0, 0)} +{'butter': (0, 26)} +{'buttord': (0, 15)} +{'cascade': (0, 0)} +{'cheb1ap': (0, 0)} +{'cheb1ord': (0, 14)} +{'cheb2ap': (0, 0)} +{'cheb2ord': (0, 15)} +{'chebwin': (0, 17)} +{'cheby1': (0, 27)} +{'cheby2': (0, 26)} +{'check_COLA': (0, 7)} +{'check_NOLA': (0, 10)} +{'chirp': (0, 24)} +{'choose_conv_method': (0, 10)} +{'cmplx_sort': (0, 5)} +{'coherence': (0, 19)} +{'cont2discrete': (0, 16)} +{'convolve': (0, 17)} +{'convolve2d': (0, 17)} +{'correlate': (0, 41)} +{'correlate2d': (0, 22)} +{'correlation_lags': (0, 8)} +{'cosine': (0, 18)} +{'csd': (0, 19)} +{'cspline1d': (0, 11)} +{'cspline1d_eval': (0, 11)} +{'cspline2d': (0, 0)} +{'cubic': (0, 6)} +{'cwt': (0, 8)} +{'czt': (0, 32)} +{'czt_points': (0, 13)} +{'daub': (0, 0)} +{'dbode': (0, 9)} +{'decimate': (0, 16)} +{'deconvolve': (0, 7)} +{'detrend': (0, 7)} +{'dfreqresp': (0, 8)} +{'dimpulse': (0, 8)} +{'dlsim': (0, 6)} +{'dlti': (0, 5), 'dlti.__init__': (0, 0), 'dlti.__new__': (0, 0), 'dlti.bode': (0, 9), 'dlti.dt': (0, 0), 'dlti.freqresp': (0, 0), 'dlti.impulse': (0, 0), 'dlti.output': (0, 0), 'dlti.step': (0, 0)} +{'dstep': (0, 8)} +{'ellip': (0, 28)} +{'ellipap': (0, 0)} +{'ellipord': (0, 14)} +{'exponential': (0, 25)} +{'fftconvolve': (0, 27)} +{'filtfilt': (0, 29)} +{'find_peaks': (0, 34)} +{'find_peaks_cwt': (0, 5)} +{'findfreqs': (0, 2)} +{'firls': (0, 8)} +{'firwin': (0, 12)} +{'firwin2': (0, 3)} +{'flattop': (0, 17)} +{'freqresp': (0, 8)} +{'freqs': (0, 9)} +{'freqs_zpk': (0, 9)} +{'freqz': (0, 26)} +{'freqz_zpk': (0, 17)} +{'gammatone': (0, 15)} +{'gauss_spline': (0, 4)} +{'gaussian': (0, 17)} +{'gausspulse': (0, 5)} +{'general_gaussian': (0, 17)} +{'get_window': (0, 5)} +{'group_delay': (0, 9)} +{'hamming': (0, 17)} +{'hann': (0, 18)} +{'hilbert': (0, 22)} +{'hilbert2': (0, 0)} +{'iircomb': (0, 46)} +{'iirdesign': (0, 26)} +{'iirfilter': (0, 24)} +{'iirnotch': (0, 22)} +{'iirpeak': (0, 22)} +{'impulse': (0, 5)} +{'impulse2': (0, 5)} +{'invres': (0, 0)} +{'invresz': (0, 0)} +{'istft': (0, 37)} +{'kaiser': (0, 17)} +{'kaiser_atten': (0, 2)} +{'kaiser_beta': (0, 2)} +{'kaiserord': (0, 23)} +{'lfilter': (0, 17)} +{'lfilter_zi': (0, 9)} +{'lfiltic': (0, 0)} +{'lombscargle': (0, 18)} +{'lp2bp': (0, 13)} +{'lp2bp_zpk': (0, 0)} +{'lp2bs': (0, 13)} +{'lp2bs_zpk': (0, 0)} +{'lp2hp': (0, 13)} +{'lp2hp_zpk': (0, 0)} +{'lp2lp': (0, 13)} +{'lp2lp_zpk': (0, 0)} +{'lsim': (0, 25)} +{'lsim2': (0, 25)} +{'lti': (0, 4), 'lti.__init__': (0, 0), 'lti.__new__': (0, 0), 'lti.bode': (0, 9), 'lti.freqresp': (0, 0), 'lti.impulse': (0, 0), 'lti.output': (0, 0), 'lti.step': (0, 0), 'lti.to_discrete': (0, 0)} +{'max_len_seq': (0, 23)} +{'medfilt': (0, 0)} +{'medfilt2d': (0, 0)} +{'minimum_phase': (0, 17)} +{'morlet': (0, 0)} +{'morlet2': (0, 19)} +{'normalize': (0, 0)} +{'nuttall': (0, 17)} +{'oaconvolve': (0, 13)} +{'order_filter': (0, 6)} +{'parzen': (0, 17)} +{'peak_prominences': (0, 19)} +{'peak_widths': (0, 14)} +{'periodogram': (0, 26)} +{'place_poles': (0, 25)} +{'qmf': (0, 0)} +{'qspline1d': (0, 11)} +{'qspline1d_eval': (0, 11)} +{'qspline2d': (0, 0)} +{'quadratic': (0, 6)} +{'remez': (0, 34)} +{'resample': (0, 9)} +{'resample_poly': (0, 27)} +{'residue': (0, 0)} +{'residuez': (0, 0)} +{'ricker': (0, 8)} +{'savgol_coeffs': (0, 9)} +{'savgol_filter': (0, 5)} +{'sawtooth': (0, 4)} +{'sepfir2d': (0, 0)} +{'sos2tf': (0, 0)} +{'sos2zpk': (0, 0)} +{'sosfilt': (0, 11)} +{'sosfilt_zi': (0, 12)} +{'sosfiltfilt': (0, 19)} +{'sosfreqz': (0, 36)} +{'spectrogram': (0, 24)} +{'spline_filter': (0, 9)} +{'square': (0, 13)} +{'ss2tf': (0, 6)} +{'ss2zpk': (0, 0)} +{'step': (0, 9)} +{'step2': (0, 9)} +{'stft': (0, 24)} +{'sweep_poly': (0, 14)} +{'symiirorder1': (0, 0)} +{'symiirorder2': (0, 0)} +{'tf2sos': (0, 0)} +{'tf2ss': (0, 8)} +{'tf2zpk': (0, 0)} +{'triang': (0, 18)} +{'tukey': (0, 18)} +{'unique_roots': (0, 4)} +{'unit_impulse': (0, 16)} +{'upfirdn': (0, 12)} +{'vectorstrength': (0, 0)} +{'welch': (0, 35)} +{'wiener': (0, 11)} +{'zoom_fft': (0, 9)} +{'zpk2sos': (0, 10)} +{'zpk2ss': (0, 0)} +{'zpk2tf': (0, 0)} +scipy.signal.windows +==================== +{'boxcar': (0, 17)} +{'triang': (0, 18)} +{'parzen': (0, 17)} +{'bohman': (0, 17)} +{'blackman': (0, 18)} +{'nuttall': (0, 17)} +{'blackmanharris': (0, 17)} +{'flattop': (0, 17)} +{'bartlett': (0, 17)} +{'barthann': (0, 17)} +{'hamming': (0, 17)} +{'kaiser': (0, 17)} +{'kaiser_bessel_derived': (0, 14)} +{'gaussian': (0, 17)} +{'general_gaussian': (0, 17)} +{'general_cosine': (0, 21)} +{'general_hamming': (0, 14)} +{'chebwin': (0, 17)} +{'cosine': (0, 18)} +{'hann': (0, 18)} +{'exponential': (0, 25)} +{'tukey': (0, 18)} +{'taylor': (0, 17)} +{'get_window': (0, 5)} +{'dpss': (0, 30)} +scipy.sparse +============ +{} +{} +{'block_diag': (0, 5)} +{'bmat': (0, 6)} +{'bsr_array': (0, 10)} +{'bsr_matrix': (0, 10), 'bsr_matrix._binopt': (0, 0), 'bsr_matrix._with_data': (0, 0), 'bsr_matrix.check_format': (0, 0), 'bsr_matrix.diagonal': (0, 4), 'bsr_matrix.eliminate_zeros': (0, 0), 'bsr_matrix.getnnz': (0, 0), 'bsr_matrix.prune': (0, 0), 'bsr_matrix.sort_indices': (0, 0), 'bsr_matrix.sum_duplicates': (0, 0), 'bsr_matrix.toarray': (0, 0), 'bsr_matrix.tobsr': (0, 0), 'bsr_matrix.tocoo': (0, 0), 'bsr_matrix.tocsc': (0, 0), 'bsr_matrix.tocsr': (0, 0), 'bsr_matrix.transpose': (0, 0)} +{'coo_array': (0, 12)} +{'coo_matrix': (0, 12), 'coo_matrix._check': (0, 0), 'coo_matrix._with_data': (0, 0), 'coo_matrix.diagonal': (0, 4), 'coo_matrix.eliminate_zeros': (0, 0), 'coo_matrix.getnnz': (0, 0), 'coo_matrix.reshape': (0, 0), 'coo_matrix.resize': (0, 0), 'coo_matrix.sum_duplicates': (0, 0), 'coo_matrix.toarray': (0, 0), 'coo_matrix.tocoo': (0, 0), 'coo_matrix.tocsc': (0, 7), 'coo_matrix.tocsr': (0, 7), 'coo_matrix.todia': (0, 0), 'coo_matrix.todok': (0, 0), 'coo_matrix.transpose': (0, 0)} +{'csc_array': (0, 11)} +{'csc_matrix': (0, 11), 'csc_matrix._swap': (0, 0), 'csc_matrix.getcol': (0, 0), 'csc_matrix.getrow': (0, 0), 'csc_matrix.nonzero': (0, 3), 'csc_matrix.tocsc': (0, 0), 'csc_matrix.tocsr': (0, 0), 'csc_matrix.transpose': (0, 0)} +{'csr_array': (0, 22)} +{'csr_matrix': (0, 22), 'csr_matrix._swap': (0, 0), 'csr_matrix.getcol': (0, 0), 'csr_matrix.getrow': (0, 0), 'csr_matrix.tobsr': (0, 0), 'csr_matrix.tocsc': (0, 0), 'csr_matrix.tocsr': (0, 0), 'csr_matrix.tolil': (0, 0), 'csr_matrix.transpose': (0, 0)} +{'dia_array': (0, 12)} +{'dia_matrix': (0, 12), 'dia_matrix._data_mask': (0, 0), 'dia_matrix._with_data': (0, 0), 'dia_matrix.count_nonzero': (0, 0), 'dia_matrix.diagonal': (0, 4), 'dia_matrix.getnnz': (0, 0), 'dia_matrix.resize': (0, 0), 'dia_matrix.sum': (0, 0), 'dia_matrix.tocoo': (0, 0), 'dia_matrix.tocsc': (0, 0), 'dia_matrix.todia': (0, 0), 'dia_matrix.transpose': (0, 0)} +{'diags': (0, 5)} +{'dok_array': (0, 4)} +{'dok_matrix': (0, 4), 'dok_matrix._update': (0, 0), 'dok_matrix.conjtransp': (0, 0), 'dok_matrix.copy': (0, 0), 'dok_matrix.count_nonzero': (0, 0), 'dok_matrix.get': (0, 0), 'dok_matrix.getnnz': (0, 0), 'dok_matrix.resize': (0, 0), 'dok_matrix.shape': (0, 0), 'dok_matrix.tocoo': (0, 0), 'dok_matrix.tocsc': (0, 0), 'dok_matrix.todok': (0, 0), 'dok_matrix.transpose': (0, 0)} +{'eye': (0, 3)} +{'find': (0, 3)} +{'hstack': (0, 4)} +{'identity': (0, 3)} +{'issparse': (0, 4)} +{'isspmatrix': (0, 4)} +{'isspmatrix_bsr': (0, 4)} +{'isspmatrix_coo': (0, 4)} +{'isspmatrix_csc': (0, 4)} +{'isspmatrix_csr': (0, 4)} +{'isspmatrix_dia': (0, 4)} +{'isspmatrix_dok': (0, 4)} +{'isspmatrix_lil': (0, 4)} +{'kron': (0, 5)} +{'kronsum': (0, 0)} +{'lil_array': (0, 0)} +{'lil_matrix': (0, 0), 'lil_matrix._get_row_ranges': (0, 0), 'lil_matrix.copy': (0, 0), 'lil_matrix.count_nonzero': (0, 0), 'lil_matrix.getnnz': (0, 0), 'lil_matrix.getrow': (0, 0), 'lil_matrix.getrowview': (0, 0), 'lil_matrix.reshape': (0, 0), 'lil_matrix.resize': (0, 0), 'lil_matrix.toarray': (0, 0), 'lil_matrix.tocsr': (0, 0), 'lil_matrix.tolil': (0, 0), 'lil_matrix.transpose': (0, 0)} +{'load_npz': (0, 8)} +{'rand': (0, 4)} +{'random': (0, 14)} +{'save_npz': (0, 8)} +{'spdiags': (0, 4)} +{'spmatrix': (0, 0), 'spmatrix._mul_dispatch': (0, 0), 'spmatrix.asformat': (0, 0), 'spmatrix.asfptype': (0, 0), 'spmatrix.astype': (0, 0), 'spmatrix.conj': (0, 0), 'spmatrix.conjugate': (0, 0), 'spmatrix.copy': (0, 0), 'spmatrix.count_nonzero': (0, 0), 'spmatrix.diagonal': (0, 4), 'spmatrix.dot': (0, 5), 'spmatrix.getH': (0, 0), 'spmatrix.get_shape': (0, 0), 'spmatrix.getcol': (0, 0), 'spmatrix.getformat': (0, 0), 'spmatrix.getmaxprint': (0, 0), 'spmatrix.getnnz': (0, 0), 'spmatrix.getrow': (0, 0), 'spmatrix.maximum': (0, 0), 'spmatrix.mean': (0, 0), 'spmatrix.minimum': (0, 0), 'spmatrix.multiply': (0, 0), 'spmatrix.nnz': (0, 0), 'spmatrix.nonzero': (0, 3), 'spmatrix.power': (0, 0), 'spmatrix.reshape': (0, 0), 'spmatrix.resize': (0, 0), 'spmatrix.set_shape': (0, 0), 'spmatrix.setdiag': (0, 0), 'spmatrix.shape': (0, 0), 'spmatrix.sum': (0, 0), 'spmatrix.toarray': (0, 0), 'spmatrix.tobsr': (0, 0), 'spmatrix.tocoo': (0, 0), 'spmatrix.tocsc': (0, 0), 'spmatrix.tocsr': (0, 0), 'spmatrix.todense': (0, 0), 'spmatrix.todia': (0, 0), 'spmatrix.todok': (0, 0), 'spmatrix.tolil': (0, 0), 'spmatrix.trace': (0, 0), 'spmatrix.transpose': (0, 0)} +{'tril': (0, 8)} +{'triu': (0, 8)} +{'vstack': (0, 4)} +scipy.sparse.csgraph +==================== +{'connected_components': (0, 8)} +{'laplacian': (0, 46)} +{'shortest_path': (0, 8)} +{'floyd_warshall': (0, 8)} +{'dijkstra': (0, 8)} +{'bellman_ford': (0, 8)} +{'johnson': (0, 8)} +{'breadth_first_order': (0, 6)} +{'depth_first_order': (0, 6)} +{'breadth_first_tree': (0, 5)} +{'depth_first_tree': (0, 5)} +{'minimum_spanning_tree': (0, 5)} +{'reverse_cuthill_mckee': (0, 6)} +{'maximum_flow': (0, 21)} +{'maximum_bipartite_matching': (0, 18)} +{'min_weight_full_bipartite_matching': (0, 33)} +{'structural_rank': (0, 6)} +{'construct_dist_matrix': (0, 7)} +{'reconstruct_path': (0, 8)} +{'csgraph_masked_from_dense': (0, 3)} +{'csgraph_from_dense': (0, 3)} +{'csgraph_from_masked': (0, 4)} +{'csgraph_to_dense': (0, 19)} +{'csgraph_to_masked': (0, 5)} +{} +scipy.sparse.linalg +=================== +{'ArpackError': (0, 0)} +{'ArpackNoConvergence': (0, 0)} +{'LinearOperator': (0, 7), 'LinearOperator.H': (0, 0), 'LinearOperator.T': (0, 0), 'LinearOperator.__init__': (0, 0), 'LinearOperator._adjoint': (0, 0), 'LinearOperator._init_dtype': (0, 0), 'LinearOperator._matmat': (0, 0), 'LinearOperator._matvec': (0, 0), 'LinearOperator._rmatmat': (0, 0), 'LinearOperator._rmatvec': (0, 0), 'LinearOperator._transpose': (0, 0), 'LinearOperator.adjoint': (0, 0), 'LinearOperator.dot': (0, 0), 'LinearOperator.matmat': (0, 0), 'LinearOperator.matvec': (0, 0), 'LinearOperator.rmatmat': (0, 0), 'LinearOperator.rmatvec': (0, 0), 'LinearOperator.transpose': (0, 0)} +{} +{'SuperLU': (0, 14), 'SuperLU.solve': (0, 0)} +{'aslinearoperator': (0, 3)} +{'bicg': (0, 7)} +{'bicgstab': (0, 8)} +{'cg': (0, 8)} +{'cgs': (0, 8)} +{'eigs': (0, 5)} +{'eigsh': (0, 5)} +{'expm': (0, 7)} +{'expm_multiply': (0, 10)} +{'factorized': (0, 5)} +{'gcrotmk': (0, 8)} +{'gmres': (0, 7)} +{'inv': (0, 7)} +{'lgmres': (0, 7)} +{'lobpcg': (0, 15)} +{'lsmr': (0, 19)} +{'lsqr': (0, 19)} +{'minres': (0, 9)} +{'norm': (0, 14)} +{'onenormest': (0, 6)} +{'qmr': (0, 7)} +{'spilu': (0, 8)} +{'splu': (0, 8)} +{'spsolve': (0, 6)} +{'spsolve_triangular': (0, 6)} +{'svds': (0, 17)} +{'tfqmr': (0, 7)} +{'use_solver': (0, 9)} +scipy.spatial +============= +{'ConvexHull': (0, 19), 'ConvexHull.add_points': (0, 0)} +{'Delaunay': (0, 17), 'Delaunay.add_points': (0, 0), 'Delaunay.convex_hull': (0, 0), 'Delaunay.find_simplex': (0, 0), 'Delaunay.lift_points': (0, 0), 'Delaunay.plane_distance': (0, 0), 'Delaunay.transform': (0, 0), 'Delaunay.vertex_neighbor_vertices': (0, 0), 'Delaunay.vertex_to_simplex': (0, 0)} +{'HalfspaceIntersection': (0, 31), 'HalfspaceIntersection.add_halfspaces': (0, 0)} +{'KDTree': (0, 0), 'KDTree.count_neighbors': (0, 10), 'KDTree.node._create': (0, 0), 'KDTree.query': (0, 14), 'KDTree.query_ball_point': (0, 11), 'KDTree.query_ball_tree': (0, 14), 'KDTree.query_pairs': (0, 11), 'KDTree.sparse_distance_matrix': (0, 11)} +{} +{'Rectangle': (0, 0), 'Rectangle.__init__': (0, 0), 'Rectangle.max_distance_point': (0, 0), 'Rectangle.max_distance_rectangle': (0, 0), 'Rectangle.min_distance_point': (0, 0), 'Rectangle.min_distance_rectangle': (0, 0), 'Rectangle.split': (0, 0), 'Rectangle.volume': (0, 0)} +{'SphericalVoronoi': (0, 27), 'SphericalVoronoi._calc_vertices_regions': (0, 0), 'SphericalVoronoi.calculate_areas': (0, 0), 'SphericalVoronoi.sort_vertices_of_regions': (0, 0)} +{'Voronoi': (0, 10), 'Voronoi.add_points': (0, 0)} +{'cKDTree': (0, 0), 'cKDTree.__init__': (0, 0), 'cKDTree._build_weights': (0, 0), 'cKDTree.count_neighbors': (0, 10), 'cKDTree.query': (0, 14), 'cKDTree.query_ball_point': (0, 11), 'cKDTree.query_ball_tree': (0, 14), 'cKDTree.query_pairs': (0, 11), 'cKDTree.sparse_distance_matrix': (0, 11)} +{'convex_hull_plot_2d': (0, 7)} +{'delaunay_plot_2d': (0, 7)} +{'distance_matrix': (0, 2)} +{'geometric_slerp': (0, 30)} +{'minkowski_distance': (0, 2)} +{'minkowski_distance_p': (0, 2)} +{'procrustes': (0, 5)} +{'tsearch': (0, 12)} +{'voronoi_plot_2d': (0, 8)} +scipy.spatial.distance +====================== +{'braycurtis': (0, 3)} +{'canberra': (0, 3)} +{'cdist': (0, 6)} +{'chebyshev': (0, 3)} +{'cityblock': (0, 4)} +{'correlation': (0, 0)} +{'cosine': (0, 4)} +{'dice': (0, 4)} +{'directed_hausdorff': (0, 7)} +{'euclidean': (0, 3)} +{'hamming': (0, 5)} +{'is_valid_dm': (0, 0)} +{'is_valid_y': (0, 0)} +{'jaccard': (0, 5)} +{'jensenshannon': (0, 8)} +{'kulczynski1': (0, 5)} +{'mahalanobis': (0, 5)} +{'minkowski': (0, 7)} +{'num_obs_dm': (0, 0)} +{'num_obs_y': (0, 0)} +{'pdist': (0, 0)} +{'rogerstanimoto': (0, 4)} +{'russellrao': (0, 4)} +{'seuclidean': (0, 4)} +{'sokalmichener': (0, 4)} +{'sokalsneath': (0, 5)} +{'sqeuclidean': (0, 3)} +{'squareform': (0, 0)} +{'yule': (0, 3)} +scipy.spatial.transform +======================= +{'Rotation': (0, 38), 'Rotation.__delitem__': (0, 0), 'Rotation.__getitem__': (0, 7), 'Rotation.__init__': (0, 0), 'Rotation.__len__': (0, 0), 'Rotation.__mul__': (0, 13), 'Rotation.__rmul__': (0, 0), 'Rotation.__setitem__': (0, 0), 'Rotation.align_vectors': (0, 0), 'Rotation.apply': (0, 23), 'Rotation.as_euler': (0, 10), 'Rotation.as_matrix': (0, 10), 'Rotation.as_mrp': (0, 10), 'Rotation.as_quat': (0, 8), 'Rotation.as_rotvec': (0, 14), 'Rotation.concatenate': (0, 0), 'Rotation.create_group': (0, 0), 'Rotation.from_euler': (0, 13), 'Rotation.from_matrix': (0, 14), 'Rotation.from_mrp': (0, 9), 'Rotation.from_quat': (0, 12), 'Rotation.from_rotvec': (0, 11), 'Rotation.identity': (0, 0), 'Rotation.inv': (0, 7), 'Rotation.magnitude': (0, 4), 'Rotation.mean': (0, 3), 'Rotation.random': (0, 3), 'Rotation.reduce': (0, 0)} +{'Slerp': (0, 9), 'Slerp.__call__': (0, 0)} +{'RotationSpline': (0, 24), 'RotationSpline.__call__': (0, 0)} +scipy.special +============= +{'agm': (0, 7)} +{'airy': (0, 10)} +{'airye': (0, 15)} +{'bdtr': (0, 0)} +{'bdtrc': (0, 0)} +{'bdtri': (0, 0)} +{'bdtrik': (0, 0)} +{'bdtrin': (0, 0)} +{'bei': (0, 4)} +{'beip': (0, 0)} +{'ber': (0, 4)} +{'berp': (0, 0)} +{'besselpoly': (0, 0)} +{'beta': (0, 6)} +{'betainc': (0, 7)} +{'betaincinv': (0, 7)} +{'betaln': (0, 0)} +{'binom': (0, 11)} +{'boxcox': (0, 3)} +{'boxcox1p': (0, 3)} +{'btdtr': (0, 0)} +{'btdtri': (0, 0)} +{'btdtria': (0, 0)} +{'btdtrib': (0, 0)} +{'cbrt': (0, 3)} +{'chdtr': (0, 5)} +{'chdtrc': (0, 5)} +{'chdtri': (0, 5)} +{'chdtriv': (0, 5)} +{'chndtr': (0, 0)} +{'chndtridf': (0, 0)} +{'chndtrinc': (0, 0)} +{'chndtrix': (0, 0)} +{'cosdg': (0, 4)} +{'cosm1': (0, 4)} +{'cotdg': (0, 4)} +{'dawsn': (0, 7)} +{'ellipe': (0, 8)} +{'ellipeinc': (0, 0)} +{'ellipj': (0, 0)} +{'ellipk': (0, 0)} +{'ellipkinc': (0, 0)} +{'ellipkm1': (0, 0)} +{'elliprc': (0, 20)} +{'elliprd': (0, 13)} +{'elliprf': (0, 13)} +{'elliprg': (0, 14)} +{'elliprj': (0, 13)} +{'entr': (0, 0)} +{'erf': (0, 7)} +{'erfc': (0, 7)} +{'erfcinv': (0, 5)} +{'erfcx': (0, 7)} +{'erfi': (0, 7)} +{'erfinv': (0, 5)} +{'eval_chebyc': (0, 4)} +{'eval_chebys': (0, 4)} +{'eval_chebyt': (0, 0)} +{'eval_chebyu': (0, 0)} +{'eval_gegenbauer': (0, 0)} +{'eval_genlaguerre': (0, 0)} +{'eval_hermite': (0, 0)} +{'eval_hermitenorm': (0, 0)} +{'eval_jacobi': (0, 0)} +{'eval_laguerre': (0, 0)} +{'eval_legendre': (0, 14)} +{'eval_sh_chebyt': (0, 0)} +{'eval_sh_chebyu': (0, 0)} +{'eval_sh_jacobi': (0, 0)} +{'eval_sh_legendre': (0, 0)} +{'exp1': (0, 9)} +{'exp10': (0, 4)} +{'exp2': (0, 4)} +{'expi': (0, 10)} +{'expit': (0, 12)} +{'expm1': (0, 5)} +{'expn': (0, 8)} +{'exprel': (0, 5)} +{'fdtr': (0, 0)} +{'fdtrc': (0, 0)} +{'fdtri': (0, 0)} +{'fdtridfd': (0, 0)} +{'fresnel': (0, 9)} +{'gamma': (0, 18)} +{'gammainc': (0, 5)} +{'gammaincc': (0, 5)} +{'gammainccinv': (0, 6)} +{'gammaincinv': (0, 6)} +{'gammaln': (0, 6)} +{'gammasgn': (0, 6)} +{'gdtr': (0, 0)} +{'gdtrc': (0, 0)} +{'gdtria': (0, 4)} +{'gdtrib': (0, 4)} +{'gdtrix': (0, 4)} +{'hankel1': (0, 0)} +{'hankel1e': (0, 0)} +{'hankel2': (0, 0)} +{'hankel2e': (0, 0)} +{'huber': (0, 0)} +{'hyp0f1': (0, 11)} +{'hyp1f1': (0, 8)} +{'hyp2f1': (0, 17)} +{'hyperu': (0, 8)} +{'i0': (0, 0)} +{'i0e': (0, 0)} +{'i1': (0, 0)} +{'i1e': (0, 0)} +{'inv_boxcox': (0, 3)} +{'inv_boxcox1p': (0, 3)} +{'it2i0k0': (0, 0)} +{'it2j0y0': (0, 0)} +{'it2struve0': (0, 0)} +{'itairy': (0, 0)} +{'iti0k0': (0, 0)} +{'itj0y0': (0, 0)} +{'itmodstruve0': (0, 0)} +{'itstruve0': (0, 0)} +{'iv': (0, 0)} +{'ive': (0, 0)} +{'j0': (0, 0)} +{'j1': (0, 0)} +{'jv': (0, 0)} +{'jve': (0, 0)} +{'k0': (0, 0)} +{'k0e': (0, 0)} +{'k1': (0, 0)} +{'k1e': (0, 0)} +{'kei': (0, 4)} +{'keip': (0, 0)} +{'kelvin': (0, 0)} +{'ker': (0, 4)} +{'kerp': (0, 0)} +{'kl_div': (0, 0)} +{'kn': (0, 9)} +{'kolmogi': (0, 2)} +{'kolmogorov': (0, 26)} +{'kv': (0, 9)} +{'kve': (0, 0)} +{'log1p': (0, 3)} +{'log_expit': (0, 5)} +{'log_ndtr': (0, 4)} +{'loggamma': (0, 0)} +{'logit': (0, 12)} +{'lpmv': (0, 0)} +{'mathieu_a': (0, 0)} +{'mathieu_b': (0, 0)} +{'mathieu_cem': (0, 0)} +{'mathieu_modcem1': (0, 0)} +{'mathieu_modcem2': (0, 0)} +{'mathieu_modsem1': (0, 0)} +{'mathieu_modsem2': (0, 0)} +{'mathieu_sem': (0, 0)} +{'modfresnelm': (0, 0)} +{'modfresnelp': (0, 0)} +{'modstruve': (0, 0)} +{'nbdtr': (0, 0)} +{'nbdtrc': (0, 0)} +{'nbdtri': (0, 0)} +{'nbdtrik': (0, 0)} +{'nbdtrin': (0, 0)} +{'ncfdtr': (0, 13)} +{'ncfdtri': (0, 5)} +{'ncfdtridfd': (0, 5)} +{'ncfdtridfn': (0, 5)} +{'ncfdtrinc': (0, 5)} +{'nctdtr': (0, 12)} +{'nctdtridf': (0, 0)} +{'nctdtrinc': (0, 0)} +{'nctdtrit': (0, 0)} +{'ndtr': (0, 0)} +{'ndtri': (0, 0)} +{'ndtri_exp': (0, 7)} +{'nrdtrimn': (0, 0)} +{'nrdtrisd': (0, 0)} +{'obl_ang1': (0, 0)} +{'obl_ang1_cv': (0, 0)} +{'obl_cv': (0, 0)} +{'obl_rad1': (0, 0)} +{'obl_rad1_cv': (0, 0)} +{'obl_rad2': (0, 0)} +{'obl_rad2_cv': (0, 0)} +{'owens_t': (0, 4)} +{'pbdv': (0, 0)} +{'pbvv': (0, 0)} +{'pbwa': (0, 0)} +{'pdtr': (0, 3)} +{'pdtrc': (0, 0)} +{'pdtri': (0, 0)} +{'pdtrik': (0, 0)} +{'poch': (0, 7)} +{'pro_ang1': (0, 0)} +{'pro_ang1_cv': (0, 0)} +{'pro_cv': (0, 0)} +{'pro_rad1': (0, 0)} +{'pro_rad1_cv': (0, 0)} +{'pro_rad2': (0, 0)} +{'pro_rad2_cv': (0, 0)} +{'pseudo_huber': (0, 0)} +{'psi': (0, 4)} +{'radian': (0, 6)} +{'rel_entr': (0, 0)} +{'rgamma': (0, 5)} +{'round': (0, 2)} +{'shichi': (0, 0)} +{'sici': (0, 0)} +{'sindg': (0, 4)} +{'smirnov': (0, 29)} +{'smirnovi': (0, 0)} +{'spence': (0, 0)} +{'sph_harm': (0, 0)} +{'stdtr': (0, 0)} +{'stdtridf': (0, 0)} +{'stdtrit': (0, 0)} +{'struve': (0, 0)} +{'tandg': (0, 4)} +{'tklmbda': (0, 0)} +{'voigt_profile': (0, 0)} +{'wofz': (0, 10)} +{'wright_bessel': (0, 4)} +{'wrightomega': (0, 11)} +{'xlog1py': (0, 0)} +{'xlogy': (0, 0)} +{'y0': (0, 0)} +{'y1': (0, 0)} +{'yn': (0, 0)} +{'yv': (0, 0)} +{'yve': (0, 0)} +{'zetac': (0, 4)} +{'geterr': (0, 2)} +{'seterr': (0, 10)} +{'errstate': (0, 6)} +{'jn': (0, 0)} +{'ai_zeros': (0, 6)} +{'assoc_laguerre': (0, 0)} +{'bei_zeros': (0, 0)} +{'beip_zeros': (0, 0)} +{'ber_zeros': (0, 0)} +{'bernoulli': (0, 4)} +{'berp_zeros': (0, 0)} +{'bi_zeros': (0, 6)} +{'clpmn': (0, 0)} +{'comb': (0, 6)} +{'digamma': (0, 4)} +{'diric': (0, 14)} +{'erf_zeros': (0, 3)} +{'euler': (0, 4)} +{'factorial': (0, 5)} +{'factorial2': (0, 3)} +{'factorialk': (0, 3)} +{'fresnel_zeros': (0, 0)} +{'fresnelc_zeros': (0, 0)} +{'fresnels_zeros': (0, 0)} +{'h1vp': (0, 0)} +{'h2vp': (0, 0)} +{'ivp': (0, 0)} +{'jn_zeros': (0, 6)} +{'jnjnp_zeros': (0, 0)} +{'jnp_zeros': (0, 6)} +{'jnyn_zeros': (0, 0)} +{'jvp': (0, 0)} +{'kei_zeros': (0, 0)} +{'keip_zeros': (0, 0)} +{'kelvin_zeros': (0, 0)} +{'ker_zeros': (0, 0)} +{'kerp_zeros': (0, 0)} +{'kvp': (0, 3)} +{'lmbda': (0, 0)} +{'lpmn': (0, 0)} +{'lpn': (0, 0)} +{'lqmn': (0, 0)} +{'lqn': (0, 0)} +{'mathieu_even_coef': (0, 0)} +{'mathieu_odd_coef': (0, 0)} +{'obl_cv_seq': (0, 0)} +{'pbdn_seq': (0, 0)} +{'pbdv_seq': (0, 0)} +{'pbvv_seq': (0, 0)} +{'perm': (0, 5)} +{'polygamma': (0, 4)} +{'pro_cv_seq': (0, 0)} +{'riccati_jn': (0, 0)} +{'riccati_yn': (0, 0)} +{'y0_zeros': (0, 0)} +{'y1_zeros': (0, 0)} +{'y1p_zeros': (0, 0)} +{'yn_zeros': (0, 5)} +{'ynp_zeros': (0, 5)} +{'yvp': (0, 0)} +{'zeta': (0, 7)} +{'legendre': (0, 2)} +{'chebyt': (0, 25)} +{'chebyu': (0, 24)} +{'chebyc': (0, 0)} +{'chebys': (0, 0)} +{'jacobi': (0, 14)} +{'laguerre': (0, 16)} +{'genlaguerre': (0, 14)} +{'hermite': (0, 13)} +{'hermitenorm': (0, 0)} +{'gegenbauer': (0, 13)} +{'sh_legendre': (0, 0)} +{'sh_chebyt': (0, 0)} +{'sh_chebyu': (0, 0)} +{'sh_jacobi': (0, 0)} +{'roots_legendre': (0, 11)} +{'roots_chebyt': (0, 0)} +{'roots_chebyu': (0, 0)} +{'roots_chebyc': (0, 0)} +{'roots_chebys': (0, 0)} +{'roots_jacobi': (0, 0)} +{'roots_laguerre': (0, 0)} +{'roots_genlaguerre': (0, 0)} +{'roots_hermite': (0, 0)} +{'roots_hermitenorm': (0, 0)} +{'roots_gegenbauer': (0, 0)} +{'roots_sh_legendre': (0, 0)} +{'roots_sh_chebyt': (0, 0)} +{'roots_sh_chebyu': (0, 0)} +{'roots_sh_jacobi': (0, 0)} +{'p_roots': (0, 11)} +{'t_roots': (0, 0)} +{'u_roots': (0, 0)} +{'c_roots': (0, 0)} +{'s_roots': (0, 0)} +{'j_roots': (0, 0)} +{'l_roots': (0, 0)} +{'la_roots': (0, 0)} +{'h_roots': (0, 0)} +{'he_roots': (0, 0)} +{'cg_roots': (0, 0)} +{'ps_roots': (0, 0)} +{'ts_roots': (0, 0)} +{'us_roots': (0, 0)} +{'js_roots': (0, 0)} +{'SpecialFunctionWarning': (0, 0)} +{'SpecialFunctionError': (0, 0)} +{'logsumexp': (0, 12)} +{'softmax': (0, 12)} +{'log_softmax': (0, 8)} +{'multigammaln': (0, 5)} +{'ellip_harm': (0, 11)} +{'ellip_harm_2': (0, 3)} +{'ellip_normal': (0, 3)} +{'lambertw': (0, 10)} +{'spherical_jn': (0, 15)} +{'spherical_yn': (0, 15)} +{'spherical_in': (0, 15)} +{'spherical_kn': (0, 15)} +scipy.stats +=========== +{'ConstantInputWarning': (0, 0)} +{'DegenerateDataWarning': (0, 0)} +{'FitError': (0, 0)} +{'NearConstantInputWarning': (0, 0)} +{'alexandergovern': (0, 6)} +{'alpha': (0, 15)} +{'anderson': (0, 0)} +{'anderson_ksamp': (0, 4)} +{'anglit': (0, 14)} +{'ansari': (0, 9)} +{'arcsine': (0, 14)} +{'argus': (0, 15)} +{'barnard_exact': (0, 6)} +{'bartlett': (0, 7)} +{'bayes_mvs': (0, 21)} +{'bernoulli': (0, 15)} +{'beta': (0, 15)} +{'betabinom': (0, 15)} +{'betaprime': (0, 15)} +{'binned_statistic': (0, 29)} +{'binned_statistic_2d': (0, 10)} +{'binned_statistic_dd': (0, 24)} +{'binom': (0, 15)} +{'binomtest': (0, 5)} +{'boltzmann': (0, 15)} +{'bootstrap': (0, 40)} +{'boschloo_exact': (0, 4)} +{'boxcox': (0, 13)} +{'boxcox_llf': (0, 18)} +{'boxcox_normmax': (0, 19)} +{'boxcox_normplot': (0, 9)} +{'bradford': (0, 15)} +{'brunnermunzel': (0, 6)} +{'burr': (0, 15)} +{'burr12': (0, 15)} +{'cauchy': (0, 14)} +{'chi': (0, 15)} +{'chi2': (0, 15)} +{'chi2_contingency': (0, 7)} +{'chisquare': (0, 11)} +{'circmean': (0, 4)} +{'circstd': (0, 4)} +{'circvar': (0, 2)} +{'combine_pvalues': (0, 0)} +{'cosine': (0, 14)} +{'cramervonmises': (0, 11)} +{'cramervonmises_2samp': (0, 12)} +{'crystalball': (0, 15)} +{'cumfreq': (0, 20)} +{'describe': (0, 5)} +{'dgamma': (0, 15)} +{'differential_entropy': (0, 19)} +{'dirichlet': (0, 11)} +{'dlaplace': (0, 15)} +{'dweibull': (0, 15)} +{'energy_distance': (0, 4)} +{'entropy': (0, 4)} +{'epps_singleton_2samp': (0, 0)} +{'erlang': (0, 0)} +{'expon': (0, 14)} +{'exponnorm': (0, 15)} +{'exponpow': (0, 15)} +{'exponweib': (0, 15)} +{'f': (0, 15)} +{'f_oneway': (0, 13)} +{'fatiguelife': (0, 15)} +{'find_repeats': (0, 3)} +{'fisher_exact': (0, 19)} +{'fisk': (0, 15)} +{'fit': (0, 25)} +{'fligner': (0, 7)} +{'foldcauchy': (0, 15)} +{'foldnorm': (0, 15)} +{'friedmanchisquare': (0, 0)} +{'gamma': (0, 15)} +{'gausshyper': (0, 15)} +{'gaussian_kde': (0, 19), 'gaussian_kde._compute_covariance': (0, 0), 'gaussian_kde.evaluate': (0, 0), 'gaussian_kde.integrate_box': (0, 0), 'gaussian_kde.integrate_box_1d': (0, 0), 'gaussian_kde.integrate_gaussian': (0, 0), 'gaussian_kde.integrate_kde': (0, 0), 'gaussian_kde.logpdf': (0, 0), 'gaussian_kde.pdf': (0, 0), 'gaussian_kde.resample': (0, 0), 'gaussian_kde.scotts_factor': (0, 0), 'gaussian_kde.set_bandwidth': (0, 17), 'gaussian_kde.silverman_factor': (0, 0)} +{'genexpon': (0, 15)} +{'genextreme': (0, 15)} +{'gengamma': (0, 15)} +{'genhalflogistic': (0, 15)} +{'genhyperbolic': (0, 15)} +{'geninvgauss': (0, 15)} +{'genlogistic': (0, 15)} +{'gennorm': (0, 15)} +{'genpareto': (0, 15)} +{'geom': (0, 15)} +{'gibrat': (0, 14)} +{'gmean': (0, 4)} +{'gompertz': (0, 15)} +{'gstd': (0, 12)} +{'gumbel_l': (0, 14)} +{'gumbel_r': (0, 14)} +{'gzscore': (0, 14)} +{'halfcauchy': (0, 14)} +{'halfgennorm': (0, 15)} +{'halflogistic': (0, 14)} +{'halfnorm': (0, 14)} +{'hmean': (0, 4)} +{'hypergeom': (0, 15)} +{'hypsecant': (0, 14)} +{'invgamma': (0, 15)} +{'invgauss': (0, 15)} +{'invweibull': (0, 15)} +{'invwishart': (0, 10)} +{'iqr': (0, 7)} +{'jarque_bera': (0, 7)} +{'johnsonsb': (0, 15)} +{'johnsonsu': (0, 15)} +{'kappa3': (0, 15)} +{'kappa4': (0, 15)} +{'kendalltau': (0, 6)} +{'kruskal': (0, 8)} +{'ks_1samp': (0, 7)} +{'ks_2samp': (0, 10)} +{'ksone': (0, 15)} +{'kstat': (0, 4)} +{'kstatvar': (0, 0)} +{'kstest': (0, 11)} +{'kstwo': (0, 15)} +{'kurtosis': (0, 10)} +{'kurtosistest': (0, 7)} +{'laplace': (0, 14)} +{'laplace_asymmetric': (0, 15)} +{'levene': (0, 7)} +{'levy': (0, 14)} +{'levy_l': (0, 14)} +{'linregress': (0, 16)} +{'loggamma': (0, 15)} +{'logistic': (0, 14)} +{'loglaplace': (0, 15)} +{'lognorm': (0, 15)} +{'logser': (0, 15)} +{'loguniform': (0, 31)} +{'lomax': (0, 15)} +{'mannwhitneyu': (0, 25)} +{'matrix_normal': (0, 12)} +{'maxwell': (0, 14)} +{'median_abs_deviation': (0, 14)} +{'median_test': (0, 13)} +{'mielke': (0, 15)} +{'mode': (0, 4)} +{'moment': (0, 3)} +{'monte_carlo_test': (0, 21)} +{'mood': (0, 10)} +{'moyal': (0, 14)} +{'multinomial': (0, 11)} +{'multiscale_graphcorr': (0, 15)} +{'multivariate_hypergeom': (0, 9)} +{'multivariate_normal': (0, 15)} +{'multivariate_t': (0, 8)} +{'mvsdist': (0, 6)} +{'nakagami': (0, 15)} +{'nbinom': (0, 15)} +{'ncf': (0, 15)} +{'nchypergeom_fisher': (0, 15)} +{'nchypergeom_wallenius': (0, 15)} +{'nct': (0, 15)} +{'ncx2': (0, 15)} +{'nhypergeom': (0, 20)} +{'norm': (0, 14)} +{'normaltest': (0, 10)} +{'norminvgauss': (0, 15)} +{'obrientransform': (0, 7)} +{'ortho_group': (0, 6)} +{'page_trend_test': (0, 25)} +{'pareto': (0, 15)} +{'pearson3': (0, 15)} +{'pearsonr': (0, 15)} +{'percentileofscore': (0, 9)} +{'permutation_test': (0, 39)} +{'planck': (0, 15)} +{'pmean': (0, 8)} +{'pointbiserialr': (0, 6)} +{'poisson': (0, 15)} +{'power_divergence': (0, 11)} +{'powerlaw': (0, 15)} +{'powerlognorm': (0, 15)} +{'powernorm': (0, 15)} +{'ppcc_max': (0, 10)} +{'ppcc_plot': (0, 18)} +{'probplot': (0, 22)} +{'randint': (0, 15)} +{'random_correlation': (0, 7)} +{'rankdata': (0, 8)} +{'ranksums': (0, 7)} +{'rayleigh': (0, 14)} +{'rdist': (0, 15)} +{'recipinvgauss': (0, 15)} +{'reciprocal': (0, 31)} +{'relfreq': (0, 17)} +{'rice': (0, 15)} +{'rv_continuous': (0, 3), 'rv_continuous._attach_methods': (0, 0), 'rv_continuous._fit_loc_scale_support': (0, 0), 'rv_continuous._fitstart': (0, 0), 'rv_continuous._reduce_func': (0, 0), 'rv_continuous._updated_ctor_param': (0, 0), 'rv_continuous.cdf': (0, 0), 'rv_continuous.expect': (0, 4), 'rv_continuous.fit': (0, 12), 'rv_continuous.fit_loc_scale': (0, 0), 'rv_continuous.isf': (0, 0), 'rv_continuous.logcdf': (0, 0), 'rv_continuous.logpdf': (0, 0), 'rv_continuous.logsf': (0, 0), 'rv_continuous.pdf': (0, 0), 'rv_continuous.ppf': (0, 0), 'rv_continuous.sf': (0, 0)} +{'rv_discrete': (0, 13), 'rv_discrete._attach_methods': (0, 0), 'rv_discrete._updated_ctor_param': (0, 0), 'rv_discrete.cdf': (0, 0), 'rv_discrete.expect': (0, 0), 'rv_discrete.isf': (0, 0), 'rv_discrete.logcdf': (0, 0), 'rv_discrete.logpmf': (0, 0), 'rv_discrete.logsf': (0, 0), 'rv_discrete.pmf': (0, 0), 'rv_discrete.ppf': (0, 0), 'rv_discrete.rvs': (0, 0), 'rv_discrete.sf': (0, 0)} +{'rv_histogram': (0, 18), 'rv_histogram.__init__': (0, 0), 'rv_histogram._cdf': (0, 0), 'rv_histogram._entropy': (0, 0), 'rv_histogram._munp': (0, 0), 'rv_histogram._pdf': (0, 0), 'rv_histogram._ppf': (0, 0), 'rv_histogram._updated_ctor_param': (0, 0)} +{'rvs_ratio_uniforms': (0, 9)} +{'scoreatpercentile': (0, 3)} +{'sem': (0, 4)} +{'semicircular': (0, 14)} +{'shapiro': (0, 7)} +{'siegelslopes': (0, 14)} +{'sigmaclip': (0, 11)} +{'skellam': (0, 15)} +{'skew': (0, 3)} +{'skewcauchy': (0, 15)} +{'skewnorm': (0, 15)} +{'skewtest': (0, 7)} +{'somersd': (0, 5)} +{'spearmanr': (0, 17)} +{'special_ortho_group': (0, 6)} +{'studentized_range': (0, 22)} +{'t': (0, 15)} +{'theilslopes': (0, 16)} +{'tiecorrect': (0, 5)} +{'tmax': (0, 5)} +{'tmean': (0, 4)} +{'tmin': (0, 5)} +{'trapezoid': (0, 15)} +{'trapz': (0, 0)} +{'triang': (0, 15)} +{'trim1': (0, 10)} +{'trim_mean': (0, 7)} +{'trimboth': (0, 10)} +{'truncexpon': (0, 15)} +{'truncnorm': (0, 15)} +{'truncweibull_min': (0, 15)} +{'tsem': (0, 4)} +{'tstd': (0, 4)} +{'ttest_1samp': (0, 10)} +{'ttest_ind': (0, 19)} +{'ttest_ind_from_stats': (0, 10)} +{'ttest_rel': (0, 7)} +{'tukey_hsd': (0, 16)} +{'tukeylambda': (0, 15)} +{'tvar': (0, 4)} +{'uniform': (0, 14)} +{'unitary_group': (0, 4)} +{'variation': (0, 4)} +{'vonmises': (0, 15)} +{'vonmises_line': (0, 15)} +{'wald': (0, 14)} +{'wasserstein_distance': (0, 4)} +{'weibull_max': (0, 15)} +{'weibull_min': (0, 15)} +{'weightedtau': (0, 20)} +{'wilcoxon': (0, 8)} +{'wishart': (0, 8)} +{'wrapcauchy': (0, 15)} +{'yeojohnson': (0, 13)} +{'yeojohnson_llf': (0, 17)} +{'yeojohnson_normmax': (0, 10)} +{'yeojohnson_normplot': (0, 9)} +{'yulesimon': (0, 15)} +{'zipf': (0, 18)} +{'zipfian': (0, 18)} +{'zmap': (0, 4)} +{'zscore': (0, 7)} +scipy.stats.mstats +================== +{'argstoarray': (0, 3)} +{'brunnermunzel': (0, 0)} +{'chisquare': (0, 11)} +{'compare_medians_ms': (0, 9)} +{'count_tied_groups': (0, 7)} +{'describe': (0, 3)} +{'f_oneway': (0, 0)} +{'find_repeats': (0, 0)} +{'friedmanchisquare': (0, 0)} +{'gmean': (0, 4)} +{'hdmedian': (0, 0)} +{'hdquantiles': (0, 0)} +{'hdquantiles_sd': (0, 0)} +{'hmean': (0, 4)} +{'idealfourths': (0, 0)} +{'kendalltau': (0, 0)} +{'kendalltau_seasonal': (0, 0)} +{'kruskal': (0, 5)} +{'kruskalwallis': (0, 5)} +{'ks_1samp': (0, 0)} +{'ks_2samp': (0, 0)} +{'ks_twosamp': (0, 0)} +{'kstest': (0, 0)} +{'kurtosis': (0, 0)} +{'kurtosistest': (0, 0)} +{'linregress': (0, 0)} +{'mannwhitneyu': (0, 0)} +{'median_cihs': (0, 0)} +{'meppf': (0, 0)} +{'mjci': (0, 0)} +{'mode': (0, 5)} +{'moment': (0, 0)} +{'mquantiles': (0, 7)} +{'mquantiles_cimj': (0, 0)} +{'msign': (0, 0)} +{'normaltest': (0, 0)} +{'obrientransform': (0, 0)} +{'pearsonr': (0, 13)} +{'plotting_positions': (0, 0)} +{'pointbiserialr': (0, 0)} +{'rankdata': (0, 0)} +{'rsh': (0, 0)} +{'scoreatpercentile': (0, 0)} +{'sem': (0, 4)} +{} +{'siegelslopes': (0, 0)} +{'skew': (0, 0)} +{'skewtest': (0, 0)} +{'spearmanr': (0, 0)} +{'theilslopes': (0, 0)} +{'tmax': (0, 3)} +{'tmean': (0, 4)} +{'tmin': (0, 3)} +{'trim': (0, 4)} +{'trima': (0, 3)} +{'trimboth': (0, 0)} +{'trimmed_mean': (0, 0)} +{'trimmed_mean_ci': (0, 0)} +{'trimmed_std': (0, 0)} +{'trimmed_stde': (0, 0)} +{'trimmed_var': (0, 0)} +{'trimr': (0, 0)} +{'trimtail': (0, 0)} +{'tsem': (0, 0)} +{'ttest_1samp': (0, 0)} +{'ttest_ind': (0, 0)} +{'ttest_onesamp': (0, 0)} +{'ttest_rel': (0, 0)} +{'tvar': (0, 0)} +{'variation': (0, 6)} +{'winsorize': (0, 3)} +{'zmap': (0, 4)} +{'zscore': (0, 7)} +scipy.stats.contingency +======================= +{'margins': (0, 11)} +{'expected_freq': (0, 3)} +{'chi2_contingency': (0, 7)} +{'crosstab': (0, 25)} +{'association': (0, 5)} +{'relative_risk': (0, 4)} +scipy.stats.qmc +=============== +{'Halton': (0, 11), 'Halton.random': (0, 0)} +{'LatinHypercube': (0, 14), 'LatinHypercube._random': (0, 0), 'LatinHypercube._random_cd': (0, 0), 'LatinHypercube._random_oa_lhs': (0, 0), 'LatinHypercube.random': (0, 0)} +{'MultinomialQMC': (0, 3), 'MultinomialQMC.random': (0, 0)} +{'MultivariateNormalQMC': (0, 6), 'MultivariateNormalQMC._standard_normal_samples': (0, 0), 'MultivariateNormalQMC.random': (0, 0)} +{'PoissonDisk': (0, 14), 'PoissonDisk._hypersphere_surface_sample': (0, 0), 'PoissonDisk._hypersphere_volume_sample': (0, 0), 'PoissonDisk._initialize_grid_pool': (0, 0), 'PoissonDisk.fill_space': (0, 0), 'PoissonDisk.random': (0, 0), 'PoissonDisk.reset': (0, 0)} +{'QMCEngine': (0, 6), 'QMCEngine.fast_forward': (0, 0), 'QMCEngine.integers': (0, 0), 'QMCEngine.random': (0, 0), 'QMCEngine.reset': (0, 0)} +{'Sobol': (0, 12), 'Sobol._scramble': (0, 0), 'Sobol.fast_forward': (0, 0), 'Sobol.random': (0, 0), 'Sobol.random_base2': (0, 0), 'Sobol.reset': (0, 0)} +{'discrepancy': (0, 10)} +{'scale': (0, 8)} +{'update_discrepancy': (0, 8)} +scipy.stats.sampling +==================== +{'DiscreteAliasUrn': (0, 39)} +{'DiscreteGuideTable': (0, 43)} +{'NumericalInverseHermite': (0, 57)} +{'NumericalInversePolynomial': (0, 39)} +{'SimpleRatioUniforms': (0, 20)} +{'TransformedDensityRejection': (0, 19)} +{'UNURANError': (0, 0)} diff --git a/tools/refguide_check.py b/tools/refguide_check.py index b8bb2a56b4a0..3c49c62de96b 100755 --- a/tools/refguide_check.py +++ b/tools/refguide_check.py @@ -719,6 +719,8 @@ def temp_cwd(): if fails > 0: success = False + LOGFILE.write(str(runner._name2ft) + "\n") + output.seek(0) return success, output.read() @@ -735,6 +737,11 @@ def check_doctests(module, verbose, ns=None, # Loop over non-deprecated items results = [] + global LOGFILE + LOGFILE = open('refguide-check.log', 'a') + LOGFILE.write(module.__name__ + "\n") + LOGFILE.write("="*len(module.__name__) + "\n") + for name in get_all_dict(module)[0]: full_name = module.__name__ + '.' + name @@ -772,6 +779,8 @@ def check_doctests(module, verbose, ns=None, import matplotlib.pyplot as plt plt.close('all') + LOGFILE.close() + return results @@ -1013,7 +1022,8 @@ def main(argv): sys.stderr.write("\n") sys.stderr.flush() - if not args.skip_tutorial: +# if not args.skip_tutorial: + if False: base_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') tut_path = os.path.join(base_dir, 'doc', 'source', 'tutorial', '*.rst') print(f'\nChecking tutorial files at {os.path.relpath(tut_path, os.getcwd())}:') From c5363971465a6ebd18858104c0a7d9a6e6168055 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 12 Jun 2022 11:48:39 +0300 Subject: [PATCH 02/38] ENH: add tools/doctest_public_modules --- tools/doctest_public_modules.py | 93 +++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 tools/doctest_public_modules.py diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py new file mode 100644 index 000000000000..b3f1ba832efa --- /dev/null +++ b/tools/doctest_public_modules.py @@ -0,0 +1,93 @@ +import os +import sys +import importlib + +from scpdt import testmod, DTConfig +from scpdt._util import get_all_list + + +BASE_MODULE = "scipy" + +PUBLIC_SUBMODULES = [ + 'cluster', + 'cluster.hierarchy', + 'cluster.vq', + 'constants', ## obj.__name__ + 'fft', + 'fftpack', + 'fftpack.convolve', + 'integrate', + 'interpolate', + 'io', + 'io.arff', + 'io.matlab', + 'io.wavfile', + 'linalg', + 'linalg.blas', + 'linalg.lapack', + 'linalg.interpolative', + 'misc', + 'ndimage', + 'odr', + 'optimize', + 'signal', + 'signal.windows', + 'sparse', + 'sparse.csgraph', + 'sparse.linalg', + 'spatial', + 'spatial.distance', + 'spatial.transform', + 'special', + 'stats', + 'stats.mstats', + 'stats.contingency', + 'stats.qmc', + 'stats.sampling' +] + +# Docs for these modules are included in the parent module +OTHER_MODULE_DOCS = { + 'fftpack.convolve': 'fftpack', + 'io.wavfile': 'io', + 'io.arff': 'io', +} + +################### A user ctx mgr to turn warnings to errors ################### +from scpdt._util import warnings_errors + +config = DTConfig() +config.user_context_mgr = warnings_errors +############################################################################ + +module_names = PUBLIC_SUBMODULES + +all_success = True +for submodule_name in module_names: + prefix = BASE_MODULE + '.' + if not submodule_name.startswith(prefix): + module_name = prefix + submodule_name + else: + module_name = submodule_name + + module = importlib.import_module(module_name) + + full_name = module.__name__ + line = '='*len(full_name) + sys.stderr.write(f"\n\n{line}\n") + sys.stderr.write(full_name) + sys.stderr.write(f"\n{line}\n") + + result, history = testmod(module, strategy='api', config=config) + + sys.stderr.write(str(result)) + + all_success = all_success and (result.failed == 0) + +# final report +if all_success: + sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') + sys.exit(0) +else: + sys.stderr.write('\n\n>>>> ERROR: doctests FAILED\n') + sys.exit(-1) From 70aeec62f1869be12624eb76c48d9bdc0ae2fbef Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 12 Jun 2022 12:29:32 +0300 Subject: [PATCH 03/38] MAINT: compare refguide-check and doctest_public_modules.py Check that all objects are included. Patch up both refguide-check and doctest_public_modules to emit the history, and compare them, e.g. $ meld tools/doctest.log refguide-check.log The logs are *identical* modulo `stats.kstwobign` and `stats.levy_stable` which were excluded in refguide-check but this seems to be no longer needed. --- refguide-check.log | 3892 +++++++++++++++++-------------- tools/doctest.log | 2244 ++++++++++++++++++ tools/doctest_public_modules.py | 7 + tools/refguide_check.py | 3 +- 4 files changed, 4425 insertions(+), 1721 deletions(-) create mode 100644 tools/doctest.log diff --git a/refguide-check.log b/refguide-check.log index 91a3143ef212..4007af7c26fa 100644 --- a/refguide-check.log +++ b/refguide-check.log @@ -2,1789 +2,2241 @@ scipy.cluster ============= scipy.cluster.hierarchy ======================= -{'ClusterNode': (0, 0), 'ClusterNode.get_count': (0, 0), 'ClusterNode.get_id': (0, 0), 'ClusterNode.get_left': (0, 0), 'ClusterNode.get_right': (0, 0), 'ClusterNode.is_leaf': (0, 0), 'ClusterNode.pre_order': (0, 0)} -{'DisjointSet': (0, 13), 'DisjointSet.__getitem__': (0, 0), 'DisjointSet.__iter__': (0, 0), 'DisjointSet.add': (0, 0), 'DisjointSet.connected': (0, 0), 'DisjointSet.merge': (0, 0), 'DisjointSet.subset': (0, 0), 'DisjointSet.subsets': (0, 0)} -{'average': (0, 10)} -{'centroid': (0, 10)} -{'complete': (0, 10)} -{'cophenet': (0, 7)} -{'correspond': (0, 6)} -{'cut_tree': (0, 8)} -{'dendrogram': (0, 12)} -{'fcluster': (0, 9)} -{'fclusterdata': (0, 3)} -{'from_mlab_linkage': (0, 5)} -{'inconsistent': (0, 6)} -{'is_isomorphic': (0, 11)} -{'is_monotonic': (0, 9)} -{'is_valid_im': (0, 10)} -{'is_valid_linkage': (0, 8)} -{'leaders': (0, 10)} -{'leaves_list': (0, 9)} -{'linkage': (0, 10)} -{'maxRstat': (0, 9)} -{'maxdists': (0, 6)} -{'maxinconsts': (0, 8)} -{'median': (0, 10)} -{'num_obs_linkage': (0, 5)} -{'optimal_leaf_ordering': (0, 6)} -{'set_link_color_palette': (0, 11)} -{'single': (0, 9)} -{'to_mlab_linkage': (0, 7)} -{'to_tree': (0, 8)} -{'ward': (0, 10)} -{'weighted': (0, 10)} +ClusterNode +ClusterNode.get_count +ClusterNode.get_id +ClusterNode.get_left +ClusterNode.get_right +ClusterNode.is_leaf +ClusterNode.pre_order +DisjointSet +DisjointSet.__getitem__ +DisjointSet.__iter__ +DisjointSet.add +DisjointSet.connected +DisjointSet.merge +DisjointSet.subset +DisjointSet.subsets +average +centroid +complete +cophenet +correspond +cut_tree +dendrogram +fcluster +fclusterdata +from_mlab_linkage +inconsistent +is_isomorphic +is_monotonic +is_valid_im +is_valid_linkage +leaders +leaves_list +linkage +maxRstat +maxdists +maxinconsts +median +num_obs_linkage +optimal_leaf_ordering +set_link_color_palette +single +to_mlab_linkage +to_tree +ward +weighted scipy.cluster.vq ================ -{'whiten': (0, 4)} -{'vq': (0, 6)} -{'kmeans': (0, 19)} -{'kmeans2': (0, 22)} +whiten +vq +kmeans +kmeans2 scipy.constants =============== -{'Avogadro': (0, 0)} -{'Boltzmann': (0, 0)} -{'Btu': (0, 0)} -{'Btu_IT': (0, 0)} -{'Btu_th': (0, 0)} -{'ConstantWarning': (0, 0)} -{'G': (0, 0)} -{'Julian_year': (0, 0)} -{'N_A': (0, 0)} -{'Planck': (0, 0)} -{'R': (0, 0)} -{'Rydberg': (0, 0)} -{'Stefan_Boltzmann': (0, 0)} -{'Wien': (0, 0)} -{'acre': (0, 0)} -{'alpha': (0, 0)} -{'angstrom': (0, 0)} -{'arcmin': (0, 0)} -{'arcminute': (0, 0)} -{'arcsec': (0, 0)} -{'arcsecond': (0, 0)} -{'astronomical_unit': (0, 0)} -{'atm': (0, 0)} -{'atmosphere': (0, 0)} -{'atomic_mass': (0, 0)} -{'atto': (0, 0)} -{'au': (0, 0)} -{'bar': (0, 0)} -{'barrel': (0, 0)} -{'bbl': (0, 0)} -{'blob': (0, 0)} -{'c': (0, 0)} -{'calorie': (0, 0)} -{'calorie_IT': (0, 0)} -{'calorie_th': (0, 0)} -{'carat': (0, 0)} -{'centi': (0, 0)} -{'convert_temperature': (0, 2)} -{'day': (0, 0)} -{'deci': (0, 0)} -{'degree': (0, 0)} -{'degree_Fahrenheit': (0, 0)} -{'deka': (0, 0)} -{'dyn': (0, 0)} -{'dyne': (0, 0)} -{'e': (0, 0)} -{'eV': (0, 0)} -{'electron_mass': (0, 0)} -{'electron_volt': (0, 0)} -{'elementary_charge': (0, 0)} -{'epsilon_0': (0, 0)} -{'erg': (0, 0)} -{'exa': (0, 0)} -{'exbi': (0, 1)} -{'femto': (0, 0)} -{'fermi': (0, 0)} -{'find': (0, 5)} -{'fine_structure': (0, 0)} -{'fluid_ounce': (0, 0)} -{'fluid_ounce_US': (0, 0)} -{'fluid_ounce_imp': (0, 0)} -{'foot': (0, 0)} -{'g': (0, 0)} -{'gallon': (0, 0)} -{'gallon_US': (0, 0)} -{'gallon_imp': (0, 0)} -{'gas_constant': (0, 0)} -{'gibi': (0, 1)} -{'giga': (0, 0)} -{'golden': (0, 0)} -{'golden_ratio': (0, 0)} -{'grain': (0, 0)} -{'gram': (0, 0)} -{'gravitational_constant': (0, 0)} -{'h': (0, 0)} -{'hbar': (0, 0)} -{'hectare': (0, 0)} -{'hecto': (0, 0)} -{'horsepower': (0, 0)} -{'hour': (0, 0)} -{'hp': (0, 0)} -{'inch': (0, 0)} -{'k': (0, 0)} -{'kgf': (0, 0)} -{'kibi': (0, 1)} -{'kilo': (0, 0)} -{'kilogram_force': (0, 0)} -{'kmh': (0, 0)} -{'knot': (0, 0)} -{'lambda2nu': (0, 2)} -{'lb': (0, 0)} -{'lbf': (0, 0)} -{'light_year': (0, 0)} -{'liter': (0, 0)} -{'litre': (0, 0)} -{'long_ton': (0, 0)} -{'m_e': (0, 0)} -{'m_n': (0, 0)} -{'m_p': (0, 0)} -{'m_u': (0, 0)} -{'mach': (0, 0)} -{'mebi': (0, 1)} -{'mega': (0, 0)} -{'metric_ton': (0, 0)} -{'micro': (0, 0)} -{'micron': (0, 0)} -{'mil': (0, 0)} -{'mile': (0, 0)} -{'milli': (0, 0)} -{'minute': (0, 0)} -{'mmHg': (0, 0)} -{'mph': (0, 0)} -{'mu_0': (0, 0)} -{'nano': (0, 0)} -{'nautical_mile': (0, 0)} -{'neutron_mass': (0, 0)} -{'nu2lambda': (0, 2)} -{'ounce': (0, 0)} -{'oz': (0, 0)} -{'parsec': (0, 0)} -{'pebi': (0, 1)} -{'peta': (0, 0)} -{'physical_constants': (0, 0)} -{'pi': (0, 0)} -{'pico': (0, 0)} -{'point': (0, 0)} -{'pound': (0, 0)} -{'pound_force': (0, 0)} -{'precision': (0, 2)} -{'proton_mass': (0, 0)} -{'psi': (0, 0)} -{'pt': (0, 0)} -{'short_ton': (0, 0)} -{'sigma': (0, 0)} -{'slinch': (0, 0)} -{'slug': (0, 0)} -{'speed_of_light': (0, 0)} -{'speed_of_sound': (0, 0)} -{'stone': (0, 0)} -{'survey_foot': (0, 0)} -{'survey_mile': (0, 0)} -{'tebi': (0, 1)} -{'tera': (0, 0)} -{'ton_TNT': (0, 0)} -{'torr': (0, 0)} -{'troy_ounce': (0, 0)} -{'troy_pound': (0, 0)} -{'u': (0, 0)} -{'unit': (0, 2)} -{'value': (0, 2)} -{'week': (0, 0)} -{'yard': (0, 0)} -{'year': (0, 0)} -{'yobi': (0, 1)} -{'yocto': (0, 0)} -{'yotta': (0, 0)} -{'zebi': (0, 1)} -{'zepto': (0, 0)} -{'zero_Celsius': (0, 0)} -{'zetta': (0, 0)} +Avogadro +Boltzmann +Btu +Btu_IT +Btu_th +ConstantWarning +G +Julian_year +N_A +Planck +R +Rydberg +Stefan_Boltzmann +Wien +acre +alpha +angstrom +arcmin +arcminute +arcsec +arcsecond +astronomical_unit +atm +atmosphere +atomic_mass +atto +au +bar +barrel +bbl +blob +c +calorie +calorie_IT +calorie_th +carat +centi +convert_temperature +day +deci +degree +degree_Fahrenheit +deka +dyn +dyne +e +eV +electron_mass +electron_volt +elementary_charge +epsilon_0 +erg +exa +exbi +femto +fermi +find +fine_structure +fluid_ounce +fluid_ounce_US +fluid_ounce_imp +foot +g +gallon +gallon_US +gallon_imp +gas_constant +gibi +giga +golden +golden_ratio +grain +gram +gravitational_constant +h +hbar +hectare +hecto +horsepower +hour +hp +inch +k +kgf +kibi +kilo +kilogram_force +kmh +knot +lambda2nu +lb +lbf +light_year +liter +litre +long_ton +m_e +m_n +m_p +m_u +mach +mebi +mega +metric_ton +micro +micron +mil +mile +milli +minute +mmHg +mph +mu_0 +nano +nautical_mile +neutron_mass +nu2lambda +ounce +oz +parsec +pebi +peta +physical_constants +pi +pico +point +pound +pound_force +precision +proton_mass +psi +pt +short_ton +sigma +slinch +slug +speed_of_light +speed_of_sound +stone +survey_foot +survey_mile +tebi +tera +ton_TNT +torr +troy_ounce +troy_pound +u +unit +value +week +yard +year +yobi +yocto +yotta +zebi +zepto +zero_Celsius +zetta scipy.fft ========= -{'fft': (0, 9)} -{'ifft': (0, 11)} -{'fft2': (0, 3)} -{'ifft2': (0, 3)} -{'fftn': (0, 11)} -{'ifftn': (0, 10)} -{'rfft': (0, 3)} -{'irfft': (0, 3)} -{'rfft2': (0, 0)} -{'irfft2': (0, 0)} -{'rfftn': (0, 4)} -{'irfftn': (0, 4)} -{'hfft': (0, 6)} -{'ihfft': (0, 4)} -{'hfft2': (0, 0)} -{'ihfft2': (0, 0)} -{'hfftn': (0, 3)} -{'ihfftn': (0, 4)} -{'fftfreq': (0, 6)} -{'rfftfreq': (0, 8)} -{'fftshift': (0, 6)} -{'ifftshift': (0, 3)} -{'next_fast_len': (0, 8)} -{'dct': (0, 3)} -{'idct': (0, 3)} -{'dst': (0, 0)} -{'idst': (0, 0)} -{'dctn': (0, 4)} -{'idctn': (0, 4)} -{'dstn': (0, 4)} -{'idstn': (0, 4)} -{'fht': (0, 0)} -{'ifht': (0, 0)} -{'fhtoffset': (0, 0)} -{'set_backend': (0, 2)} -{'skip_backend': (0, 3)} -{'set_global_backend': (0, 3)} -{'register_backend': (0, 6)} -{'get_workers': (0, 3)} -{'set_workers': (0, 4)} +fft +ifft +fft2 +ifft2 +fftn +ifftn +rfft +irfft +rfft2 +irfft2 +rfftn +irfftn +hfft +ihfft +hfft2 +ihfft2 +hfftn +ihfftn +fftfreq +rfftfreq +fftshift +ifftshift +next_fast_len +dct +idct +dst +idst +dctn +idctn +dstn +idstn +fht +ifht +fhtoffset +set_backend +skip_backend +set_global_backend +register_backend +get_workers +set_workers scipy.fftpack ============= -{'fft': (0, 3)} -{'ifft': (0, 4)} -{'fftn': (0, 3)} -{'ifftn': (0, 4)} -{'rfft': (0, 4)} -{'irfft': (0, 4)} -{'fft2': (0, 4)} -{'ifft2': (0, 4)} -{'diff': (0, 0)} -{'tilbert': (0, 0)} -{'itilbert': (0, 0)} -{'hilbert': (0, 0)} -{'ihilbert': (0, 0)} -{'sc_diff': (0, 0)} -{'cs_diff': (0, 0)} -{'cc_diff': (0, 0)} -{'ss_diff': (0, 0)} -{'shift': (0, 0)} -{'fftfreq': (0, 6)} -{'rfftfreq': (0, 7)} -{'fftshift': (0, 6)} -{'ifftshift': (0, 3)} -{'next_fast_len': (0, 8)} -{'dct': (0, 3)} -{'idct': (0, 3)} -{'dst': (0, 0)} -{'idst': (0, 0)} -{'dctn': (0, 4)} -{'idctn': (0, 4)} -{'dstn': (0, 4)} -{'idstn': (0, 4)} +fft +ifft +fftn +ifftn +rfft +irfft +fft2 +ifft2 +diff +tilbert +itilbert +hilbert +ihilbert +sc_diff +cs_diff +cc_diff +ss_diff +shift +fftfreq +rfftfreq +fftshift +ifftshift +next_fast_len +dct +idct +dst +idst +dctn +idctn +dstn +idstn scipy.fftpack.convolve ====================== -{} -{'convolve': (0, 0)} -{'convolve_z': (0, 0)} -{'init_convolution_kernel': (0, 0)} +convolve +convolve_z +init_convolution_kernel scipy.integrate =============== -{} -{'BDF': (0, 0)} -{'DOP853': (0, 0)} -{'DenseOutput': (0, 0), 'DenseOutput.__call__': (0, 0)} -{'IntegrationWarning': (0, 0)} -{'LSODA': (0, 0)} -{'OdeSolution': (0, 0), 'OdeSolution.__call__': (0, 0)} -{'OdeSolver': (0, 0), 'OdeSolver.dense_output': (0, 0), 'OdeSolver.step': (0, 0)} -{'RK23': (0, 0)} -{'RK45': (0, 0)} -{'Radau': (0, 0)} -{'complex_ode': (0, 0), 'complex_ode.integrate': (0, 0), 'complex_ode.set_initial_value': (0, 0), 'complex_ode.set_integrator': (0, 0), 'complex_ode.set_solout': (0, 0)} -{'cumtrapz': (0, 0)} -{'cumulative_trapezoid': (0, 7)} -{'dblquad': (0, 8)} -{'fixed_quad': (0, 8)} -{'newton_cotes': (0, 6)} -{'nquad': (0, 12)} -{'ode': (0, 9), 'ode.get_return_code': (0, 0), 'ode.integrate': (0, 0), 'ode.set_f_params': (0, 0), 'ode.set_initial_value': (0, 0), 'ode.set_integrator': (0, 0), 'ode.set_jac_params': (0, 0), 'ode.set_solout': (0, 0), 'ode.successful': (0, 0)} -{'odeint': (0, 14)} -{'quad': (0, 15)} -{'quad_vec': (0, 10)} -{'quadrature': (0, 6)} -{'romb': (0, 7)} -{'romberg': (0, 5)} -{'simps': (0, 0)} -{'simpson': (0, 8)} -{'solve_bvp': (0, 33)} -{'solve_ivp': (0, 31)} -{'tplquad': (0, 8)} -{'trapezoid': (0, 10)} -{'trapz': (0, 0)} +BDF +DOP853 +DenseOutput +DenseOutput.__call__ +IntegrationWarning +LSODA +OdeSolution +OdeSolution.__call__ +OdeSolver +OdeSolver.dense_output +OdeSolver.step +RK23 +RK45 +Radau +complex_ode +complex_ode.integrate +complex_ode.set_initial_value +complex_ode.set_integrator +complex_ode.set_solout +cumtrapz +cumulative_trapezoid +dblquad +fixed_quad +newton_cotes +nquad +ode +ode.get_return_code +ode.integrate +ode.set_f_params +ode.set_initial_value +ode.set_integrator +ode.set_jac_params +ode.set_solout +ode.successful +odeint +quad +quad_vec +quadrature +romb +romberg +simps +simpson +solve_bvp +solve_ivp +tplquad +trapezoid +trapz scipy.interpolate ================= -{'Akima1DInterpolator': (0, 0)} -{'BPoly': (0, 4), 'BPoly._construct_from_derivatives': (0, 0), 'BPoly._raise_degree': (0, 0), 'BPoly.antiderivative': (0, 0), 'BPoly.derivative': (0, 0), 'BPoly.extend': (0, 0), 'BPoly.from_derivatives': (0, 3), 'BPoly.from_power_basis': (0, 0), 'BPoly.integrate': (0, 0)} -{'BSpline': (0, 17), 'BSpline.__call__': (0, 0), 'BSpline._ensure_c_contiguous': (0, 0), 'BSpline.antiderivative': (0, 0), 'BSpline.basis_element': (0, 15), 'BSpline.construct_fast': (0, 0), 'BSpline.derivative': (0, 0), 'BSpline.design_matrix': (0, 15), 'BSpline.from_power_basis': (0, 0), 'BSpline.integrate': (0, 13), 'BSpline.tck': (0, 0)} -{'BarycentricInterpolator': (0, 0), 'BarycentricInterpolator.__call__': (0, 0), 'BarycentricInterpolator.add_xi': (0, 0), 'BarycentricInterpolator.set_yi': (0, 0)} -{'BivariateSpline': (0, 0), 'BivariateSpline.ev': (0, 0), 'BivariateSpline.integral': (0, 0)} -{'CloughTocher2DInterpolator': (0, 17)} -{'CubicHermiteSpline': (0, 0)} -{'CubicSpline': (0, 31), 'CubicSpline._validate_bc': (0, 0)} -{'InterpolatedUnivariateSpline': (0, 11)} -{'KroghInterpolator': (0, 8)} -{'LSQBivariateSpline': (0, 0)} -{'LSQSphereBivariateSpline': (0, 31)} -{'LSQUnivariateSpline': (0, 18)} -{'LinearNDInterpolator': (0, 17)} -{'NdPPoly': (0, 0), 'NdPPoly.__call__': (0, 0), 'NdPPoly._antiderivative_inplace': (0, 0), 'NdPPoly._derivative_inplace': (0, 0), 'NdPPoly.antiderivative': (0, 0), 'NdPPoly.construct_fast': (0, 0), 'NdPPoly.derivative': (0, 0), 'NdPPoly.integrate': (0, 0), 'NdPPoly.integrate_1d': (0, 0)} -{'NearestNDInterpolator': (0, 17), 'NearestNDInterpolator.__call__': (0, 0)} -{'PPoly': (0, 0), 'PPoly.antiderivative': (0, 0), 'PPoly.derivative': (0, 0), 'PPoly.from_bernstein_basis': (0, 0), 'PPoly.from_spline': (0, 0), 'PPoly.integrate': (0, 0), 'PPoly.roots': (0, 0), 'PPoly.solve': (0, 3)} -{'PchipInterpolator': (0, 0)} -{'RBFInterpolator': (0, 15), 'RBFInterpolator.__call__': (0, 0), 'RBFInterpolator._chunk_evaluator': (0, 0)} -{'Rbf': (0, 7)} -{'RectBivariateSpline': (0, 0)} -{'RectSphereBivariateSpline': (0, 20)} -{'RegularGridInterpolator': (0, 27), 'RegularGridInterpolator.__call__': (0, 7)} -{'SmoothBivariateSpline': (0, 0)} -{'SmoothSphereBivariateSpline': (0, 26)} -{'UnivariateSpline': (0, 17), 'UnivariateSpline.__call__': (0, 0), 'UnivariateSpline._from_tck': (0, 0), 'UnivariateSpline.antiderivative': (0, 9), 'UnivariateSpline.derivative': (0, 5), 'UnivariateSpline.derivatives': (0, 5), 'UnivariateSpline.get_coeffs': (0, 0), 'UnivariateSpline.get_knots': (0, 0), 'UnivariateSpline.get_residual': (0, 0), 'UnivariateSpline.integral': (0, 7), 'UnivariateSpline.roots': (0, 0), 'UnivariateSpline.set_smoothing_factor': (0, 0)} -{'approximate_taylor_polynomial': (0, 9)} -{'barycentric_interpolate': (0, 10)} -{'bisplev': (0, 0)} -{'bisplrep': (0, 0)} -{'griddata': (0, 25)} -{'insert': (0, 9)} -{'interp1d': (0, 9), 'interp1d.__init__': (0, 0), 'interp1d._call_nearest': (0, 0), 'interp1d._call_previousnext': (0, 0), 'interp1d._check_bounds': (0, 0), 'interp1d.fill_value': (0, 0)} -{'interp2d': (0, 14), 'interp2d.__call__': (0, 0)} -{'interpn': (0, 9)} -{'krogh_interpolate': (0, 10)} -{'lagrange': (0, 13)} -{'make_interp_spline': (0, 31)} -{'make_lsq_spline': (0, 21)} -{'pade': (0, 7)} -{'pchip_interpolate': (0, 10)} -{'spalde': (0, 0)} -{'splantider': (0, 9)} -{'splder': (0, 6)} -{'splev': (0, 0)} -{'splint': (0, 0)} -{'splprep': (0, 11)} -{'splrep': (0, 9)} -{'sproot': (0, 0)} +Akima1DInterpolator +BPoly +BPoly._construct_from_derivatives +BPoly._raise_degree +BPoly.antiderivative +BPoly.derivative +BPoly.extend +BPoly.from_derivatives +BPoly.from_power_basis +BPoly.integrate +BSpline +BSpline.__call__ +BSpline._ensure_c_contiguous +BSpline.antiderivative +BSpline.basis_element +BSpline.construct_fast +BSpline.derivative +BSpline.design_matrix +BSpline.from_power_basis +BSpline.integrate +BSpline.tck +BarycentricInterpolator +BarycentricInterpolator.__call__ +BarycentricInterpolator.add_xi +BarycentricInterpolator.set_yi +BivariateSpline +BivariateSpline.ev +BivariateSpline.integral +CloughTocher2DInterpolator +CubicHermiteSpline +CubicSpline +CubicSpline._validate_bc +InterpolatedUnivariateSpline +KroghInterpolator +LSQBivariateSpline +LSQSphereBivariateSpline +LSQUnivariateSpline +LinearNDInterpolator +NdPPoly +NdPPoly.__call__ +NdPPoly._antiderivative_inplace +NdPPoly._derivative_inplace +NdPPoly.antiderivative +NdPPoly.construct_fast +NdPPoly.derivative +NdPPoly.integrate +NdPPoly.integrate_1d +NearestNDInterpolator +NearestNDInterpolator.__call__ +PPoly +PPoly.antiderivative +PPoly.derivative +PPoly.from_bernstein_basis +PPoly.from_spline +PPoly.integrate +PPoly.roots +PPoly.solve +PchipInterpolator +RBFInterpolator +RBFInterpolator.__call__ +RBFInterpolator._chunk_evaluator +Rbf +RectBivariateSpline +RectSphereBivariateSpline +RegularGridInterpolator +RegularGridInterpolator.__call__ +SmoothBivariateSpline +SmoothSphereBivariateSpline +UnivariateSpline +UnivariateSpline.__call__ +UnivariateSpline._from_tck +UnivariateSpline.antiderivative +UnivariateSpline.derivative +UnivariateSpline.derivatives +UnivariateSpline.get_coeffs +UnivariateSpline.get_knots +UnivariateSpline.get_residual +UnivariateSpline.integral +UnivariateSpline.roots +UnivariateSpline.set_smoothing_factor +approximate_taylor_polynomial +barycentric_interpolate +bisplev +bisplrep +griddata +insert +interp1d +interp1d.__init__ +interp1d._call_nearest +interp1d._call_previousnext +interp1d._check_bounds +interp1d.fill_value +interp2d +interp2d.__call__ +interpn +krogh_interpolate +lagrange +make_interp_spline +make_lsq_spline +pade +pchip_interpolate +spalde +splantider +splder +splev +splint +splprep +splrep +sproot scipy.io ======== -{'FortranEOFError': (0, 0)} -{'FortranFile': (0, 9), 'FortranFile.close': (0, 0), 'FortranFile.read_ints': (0, 0), 'FortranFile.read_reals': (0, 0), 'FortranFile.read_record': (0, 0), 'FortranFile.write_record': (0, 0)} -{'FortranFormattingError': (0, 0)} -{'hb_read': (0, 5)} -{'hb_write': (0, 5)} -{'loadmat': (0, 19)} -{'mminfo': (0, 0)} -{'mmread': (0, 0)} -{'mmwrite': (0, 0)} -{'netcdf_file': (0, 21), 'netcdf_file.__init__': (0, 0), 'netcdf_file.close': (0, 0), 'netcdf_file.createDimension': (0, 0), 'netcdf_file.createVariable': (0, 0), 'netcdf_file.flush': (0, 0)} -{'netcdf_variable': (0, 0), 'netcdf_variable._apply_missing_value': (0, 0), 'netcdf_variable._default_encoded_fill_value': (0, 0), 'netcdf_variable._get_encoded_fill_value': (0, 0), 'netcdf_variable._get_missing_value': (0, 0), 'netcdf_variable.assignValue': (0, 0), 'netcdf_variable.getValue': (0, 0), 'netcdf_variable.isrec': (0, 0), 'netcdf_variable.itemsize': (0, 0), 'netcdf_variable.shape': (0, 0), 'netcdf_variable.typecode': (0, 0)} -{'readsav': (0, 8)} -{'savemat': (0, 5)} -{'whosmat': (0, 0)} +FortranEOFError +FortranFile +FortranFile.close +FortranFile.read_ints +FortranFile.read_reals +FortranFile.read_record +FortranFile.write_record +FortranFormattingError +hb_read +hb_write +loadmat +mminfo +mmread +mmwrite +netcdf_file +netcdf_file.__init__ +netcdf_file.close +netcdf_file.createDimension +netcdf_file.createVariable +netcdf_file.flush +netcdf_variable +netcdf_variable._apply_missing_value +netcdf_variable._default_encoded_fill_value +netcdf_variable._get_encoded_fill_value +netcdf_variable._get_missing_value +netcdf_variable.assignValue +netcdf_variable.getValue +netcdf_variable.isrec +netcdf_variable.itemsize +netcdf_variable.shape +netcdf_variable.typecode +readsav +savemat +whosmat scipy.io.arff ============= -{'MetaData': (0, 0), 'MetaData.names': (0, 0), 'MetaData.types': (0, 0)} -{'loadarff': (0, 7)} -{} -{} +MetaData +MetaData.names +MetaData.types +loadarff scipy.io.matlab =============== -{'loadmat': (0, 19)} -{'savemat': (0, 5)} -{'whosmat': (0, 0)} -{'MatlabObject': (0, 0)} -{'matfile_version': (0, 0)} -{'MatReadError': (0, 0)} -{'MatReadWarning': (0, 0)} -{'MatWriteError': (0, 0)} -{'mat_struct': (0, 0)} -{'MatlabOpaque': (0, 0)} -{'MatlabFunction': (0, 0)} +loadmat +savemat +whosmat +MatlabObject +matfile_version +MatReadError +MatReadWarning +MatWriteError +mat_struct +MatlabOpaque +MatlabFunction scipy.io.wavfile ================ -{} -{'read': (0, 18)} -{'write': (0, 6)} +read +write scipy.linalg ============ -{'LinAlgError': (0, 2)} -{'LinAlgWarning': (0, 0)} -{'bandwidth': (0, 3)} -{'block_diag': (0, 8)} -{'cdf2rdf': (0, 11)} -{'cho_factor': (0, 5)} -{'cho_solve': (0, 5)} -{'cho_solve_banded': (0, 7)} -{'cholesky': (0, 5)} -{'cholesky_banded': (0, 8)} -{'circulant': (0, 2)} -{'clarkson_woodruff_transform': (0, 30)} -{'companion': (0, 2)} -{'convolution_matrix': (0, 8)} -{'coshm': (0, 7)} -{'cosm': (0, 4)} -{'cossin': (0, 8)} -{'det': (0, 5)} -{'dft': (0, 8)} -{'diagsvd': (0, 4)} -{'eig': (0, 11)} -{'eig_banded': (0, 9)} -{'eigh': (0, 10)} -{'eigh_tridiagonal': (0, 6)} -{'eigvals': (0, 7)} -{'eigvals_banded': (0, 5)} -{'eigvalsh': (0, 4)} -{'eigvalsh_tridiagonal': (0, 7)} -{'expm': (0, 5)} -{'expm_cond': (0, 4)} -{'expm_frechet': (0, 16)} -{'fiedler': (0, 10)} -{'fiedler_companion': (0, 5)} -{'find_best_blas_type': (0, 7)} -{'fractional_matrix_power': (0, 5)} -{'funm': (0, 6)} -{'get_blas_funcs': (0, 7)} -{'get_lapack_funcs': (0, 14)} -{'hadamard': (0, 3)} -{'hankel': (0, 3)} -{'helmert': (0, 2)} -{'hessenberg': (0, 5)} -{'hilbert': (0, 2)} -{'inv': (0, 4)} -{'invhilbert': (0, 5)} -{'invpascal': (0, 6)} -{'ishermitian': (0, 11)} -{'issymmetric': (0, 6)} -{'khatri_rao': (0, 4)} -{'kron': (0, 3)} -{'ldl': (0, 9)} -{'leslie': (0, 2)} -{'logm': (0, 5)} -{'lstsq': (0, 17)} -{'lu': (0, 4)} -{'lu_factor': (0, 7)} -{'lu_solve': (0, 6)} -{'matmul_toeplitz': (0, 8)} -{'matrix_balance': (0, 6)} -{'norm': (0, 22)} -{'null_space': (0, 11)} -{'ordqz': (0, 5)} -{'orth': (0, 4)} -{'orthogonal_procrustes': (0, 5)} -{'pascal': (0, 6)} -{'pinv': (0, 6)} -{'pinvh': (0, 7)} -{'polar': (0, 17)} -{'qr': (0, 17)} -{'qr_delete': (0, 12)} -{'qr_insert': (0, 13)} -{'qr_multiply': (0, 8)} -{'qr_update': (0, 26)} -{'qz': (0, 9)} -{'rq': (0, 10)} -{'rsf2csf': (0, 8)} -{'schur': (0, 10)} -{'signm': (0, 4)} -{'sinhm': (0, 7)} -{'sinm': (0, 4)} -{'solve': (0, 6)} -{'solve_banded': (0, 5)} -{'solve_circulant': (0, 17)} -{'solve_continuous_are': (0, 8)} -{'solve_continuous_lyapunov': (0, 7)} -{'solve_discrete_are': (0, 9)} -{'solve_discrete_lyapunov': (0, 6)} -{'solve_lyapunov': (0, 7)} -{'solve_sylvester': (0, 7)} -{'solve_toeplitz': (0, 8)} -{'solve_triangular': (0, 6)} -{'solveh_banded': (0, 9)} -{'sqrtm': (0, 5)} -{'subspace_angles': (0, 9)} -{'svd': (0, 17)} -{'svdvals': (0, 15)} -{'tanhm': (0, 7)} -{'tanm': (0, 7)} -{'toeplitz': (0, 3)} -{'tri': (0, 3)} -{'tril': (0, 2)} -{'triu': (0, 2)} +LinAlgError +LinAlgWarning +bandwidth +block_diag +cdf2rdf +cho_factor +cho_solve +cho_solve_banded +cholesky +cholesky_banded +circulant +clarkson_woodruff_transform +companion +convolution_matrix +coshm +cosm +cossin +det +dft +diagsvd +eig +eig_banded +eigh +eigh_tridiagonal +eigvals +eigvals_banded +eigvalsh +eigvalsh_tridiagonal +expm +expm_cond +expm_frechet +fiedler +fiedler_companion +find_best_blas_type +fractional_matrix_power +funm +get_blas_funcs +get_lapack_funcs +hadamard +hankel +helmert +hessenberg +hilbert +inv +invhilbert +invpascal +ishermitian +issymmetric +khatri_rao +kron +ldl +leslie +logm +lstsq +lu +lu_factor +lu_solve +matmul_toeplitz +matrix_balance +norm +null_space +ordqz +orth +orthogonal_procrustes +pascal +pinv +pinvh +polar +qr +qr_delete +qr_insert +qr_multiply +qr_update +qz +rq +rsf2csf +schur +signm +sinhm +sinm +solve +solve_banded +solve_circulant +solve_continuous_are +solve_continuous_lyapunov +solve_discrete_are +solve_discrete_lyapunov +solve_lyapunov +solve_sylvester +solve_toeplitz +solve_triangular +solveh_banded +sqrtm +subspace_angles +svd +svdvals +tanhm +tanm +toeplitz +tri +tril +triu scipy.linalg.blas ================= -{'get_blas_funcs': (0, 7)} -{'find_best_blas_type': (0, 7)} +get_blas_funcs +find_best_blas_type scipy.linalg.lapack =================== -{'get_lapack_funcs': (0, 14)} +get_lapack_funcs scipy.linalg.interpolative ========================== -{'estimate_rank': (0, 0)} -{'estimate_spectral_norm': (0, 0)} -{'estimate_spectral_norm_diff': (0, 0)} -{'id_to_svd': (0, 0)} -{'interp_decomp': (0, 0)} -{'rand': (0, 0)} -{'reconstruct_interp_matrix': (0, 0)} -{'reconstruct_matrix_from_id': (0, 0)} -{'reconstruct_skel_matrix': (0, 0)} -{'seed': (0, 0)} -{'svd': (0, 0)} +estimate_rank +estimate_spectral_norm +estimate_spectral_norm_diff +id_to_svd +interp_decomp +rand +reconstruct_interp_matrix +reconstruct_matrix_from_id +reconstruct_skel_matrix +seed +svd scipy.misc ========== -{'central_diff_weights': (0, 8)} -{'derivative': (0, 3)} -{'ascent': (0, 8)} -{'face': (0, 9)} -{'electrocardiogram': (0, 32)} +central_diff_weights +derivative +ascent +face +electrocardiogram scipy.ndimage ============= -{'affine_transform': (0, 0)} -{'binary_closing': (0, 12)} -{'binary_dilation': (0, 13)} -{'binary_erosion': (0, 6)} -{'binary_fill_holes': (0, 7)} -{'binary_hit_or_miss': (0, 8)} -{'binary_opening': (0, 8)} -{'binary_propagation': (0, 16)} -{'black_tophat': (0, 4)} -{'center_of_mass': (0, 10)} -{'convolve': (0, 13)} -{'convolve1d': (0, 2)} -{'correlate': (0, 5)} -{'correlate1d': (0, 2)} -{'distance_transform_bf': (0, 0)} -{'distance_transform_cdt': (0, 0)} -{'distance_transform_edt': (0, 9)} -{'extrema': (0, 6)} -{'find_objects': (0, 12)} -{'fourier_ellipsoid': (0, 12)} -{'fourier_gaussian': (0, 12)} -{'fourier_shift': (0, 12)} -{'fourier_uniform': (0, 12)} -{'gaussian_filter': (0, 15)} -{'gaussian_filter1d': (0, 14)} -{'gaussian_gradient_magnitude': (0, 11)} -{'gaussian_laplace': (0, 12)} -{'generate_binary_structure': (0, 13)} -{'generic_filter': (0, 0)} -{'generic_filter1d': (0, 0)} -{'generic_gradient_magnitude': (0, 0)} -{'generic_laplace': (0, 0)} -{'geometric_transform': (0, 11)} -{'grey_closing': (0, 5)} -{'grey_dilation': (0, 11)} -{'grey_erosion': (0, 9)} -{'grey_opening': (0, 5)} -{'histogram': (0, 6)} -{'iterate_structure': (0, 5)} -{'label': (0, 10)} -{'labeled_comprehension': (0, 9)} -{'laplace': (0, 11)} -{'map_coordinates': (0, 8)} -{'maximum': (0, 14)} -{'maximum_filter': (0, 11)} -{'maximum_filter1d': (0, 2)} -{'maximum_position': (0, 7)} -{'mean': (0, 8)} -{'median': (0, 7)} -{'median_filter': (0, 11)} -{'minimum': (0, 7)} -{'minimum_filter': (0, 11)} -{'minimum_filter1d': (0, 2)} -{'minimum_position': (0, 9)} -{'morphological_gradient': (0, 10)} -{'morphological_laplace': (0, 0)} -{'percentile_filter': (0, 11)} -{'prewitt': (0, 11)} -{'rank_filter': (0, 11)} -{'rotate': (0, 18)} -{'shift': (0, 0)} -{'sobel': (0, 11)} -{'spline_filter': (0, 9)} -{'spline_filter1d': (0, 10)} -{'standard_deviation': (0, 6)} -{'sum': (0, 0)} -{'sum_labels': (0, 6)} -{'uniform_filter': (0, 11)} -{'uniform_filter1d': (0, 2)} -{'variance': (0, 6)} -{'watershed_ift': (0, 0)} -{'white_tophat': (0, 4)} -{'zoom': (0, 12)} +affine_transform +binary_closing +binary_dilation +binary_erosion +binary_fill_holes +binary_hit_or_miss +binary_opening +binary_propagation +black_tophat +center_of_mass +convolve +convolve1d +correlate +correlate1d +distance_transform_bf +distance_transform_cdt +distance_transform_edt +extrema +find_objects +fourier_ellipsoid +fourier_gaussian +fourier_shift +fourier_uniform +gaussian_filter +gaussian_filter1d +gaussian_gradient_magnitude +gaussian_laplace +generate_binary_structure +generic_filter +generic_filter1d +generic_gradient_magnitude +generic_laplace +geometric_transform +grey_closing +grey_dilation +grey_erosion +grey_opening +histogram +iterate_structure +label +labeled_comprehension +laplace +map_coordinates +maximum +maximum_filter +maximum_filter1d +maximum_position +mean +median +median_filter +minimum +minimum_filter +minimum_filter1d +minimum_position +morphological_gradient +morphological_laplace +percentile_filter +prewitt +rank_filter +rotate +shift +sobel +spline_filter +spline_filter1d +standard_deviation +sum +sum_labels +uniform_filter +uniform_filter1d +variance +watershed_ift +white_tophat +zoom scipy.odr ========= -{'Data': (0, 0), 'Data.__getattr__': (0, 0), 'Data.set_meta': (0, 0)} -{'Model': (0, 0), 'Model.__getattr__': (0, 0), 'Model.set_meta': (0, 0)} -{'ODR': (0, 0), 'ODR._check': (0, 0), 'ODR._gen_work': (0, 0), 'ODR.restart': (0, 0), 'ODR.run': (0, 0), 'ODR.set_iprint': (0, 0), 'ODR.set_job': (0, 0)} -{'OdrError': (0, 0)} -{'OdrStop': (0, 0)} -{'OdrWarning': (0, 0)} -{'Output': (0, 0), 'Output.pprint': (0, 0)} -{'RealData': (0, 0), 'RealData._cov2wt': (0, 0), 'RealData._sd2wt': (0, 0)} -{'exponential': (0, 7)} -{'multilinear': (0, 7)} -{'odr': (0, 0)} -{'polynomial': (0, 14)} -{'quadratic': (0, 7)} -{'unilinear': (0, 7)} +Data +Data.__getattr__ +Data.set_meta +Model +Model.__getattr__ +Model.set_meta +ODR +ODR._check +ODR._gen_work +ODR.restart +ODR.run +ODR.set_iprint +ODR.set_job +OdrError +OdrStop +OdrWarning +Output +Output.pprint +RealData +RealData._cov2wt +RealData._sd2wt +exponential +multilinear +odr +polynomial +quadratic +unilinear scipy.optimize ============== -{'BFGS': (0, 0), 'BFGS._update_hessian': (0, 0), 'BFGS._update_inverse_hessian': (0, 0)} -{'Bounds': (0, 0), 'Bounds.residual': (0, 0)} -{'HessianUpdateStrategy': (0, 0), 'HessianUpdateStrategy.dot': (0, 0), 'HessianUpdateStrategy.get_matrix': (0, 0), 'HessianUpdateStrategy.initialize': (0, 0), 'HessianUpdateStrategy.update': (0, 0)} -{'LbfgsInvHessProduct': (0, 0), 'LbfgsInvHessProduct.__init__': (0, 0), 'LbfgsInvHessProduct._matvec': (0, 0), 'LbfgsInvHessProduct.todense': (0, 0)} -{'LinearConstraint': (0, 0), 'LinearConstraint.residual': (0, 0)} -{'NonlinearConstraint': (0, 3)} -{'OptimizeResult': (0, 0)} -{} -{'RootResults': (0, 0)} -{'SR1': (0, 0)} -{'anderson': (0, 4)} -{'approx_fprime': (0, 6)} -{'basinhopping': (0, 21)} -{'bisect': (0, 6)} -{'bracket': (0, 14)} -{'brent': (0, 6)} -{'brenth': (0, 6)} -{'brentq': (0, 6)} -{'broyden1': (0, 4)} -{'broyden2': (0, 4)} -{'brute': (0, 10)} -{'check_grad': (0, 6)} -{'curve_fit': (0, 19)} -{'diagbroyden': (0, 4)} -{'differential_evolution': (0, 20)} -{'direct': (0, 7)} -{'dual_annealing': (0, 7)} -{'excitingmixing': (0, 0)} -{'fixed_point': (0, 5)} -{'fmin': (0, 4)} -{'fmin_bfgs': (0, 7)} -{'fmin_cg': (0, 10)} -{'fmin_cobyla': (0, 5)} -{'fmin_l_bfgs_b': (0, 0)} -{'fmin_ncg': (0, 0)} -{'fmin_powell': (0, 4)} -{'fmin_slsqp': (0, 0)} -{'fmin_tnc': (0, 0)} -{'fminbound': (0, 6)} -{'fsolve': (0, 5)} -{'golden': (0, 6)} -{'least_squares': (0, 57)} -{'leastsq': (0, 3)} -{'line_search': (0, 6)} -{'linear_sum_assignment': (0, 5)} -{'linearmixing': (0, 0)} -{'linprog': (0, 10)} -{'linprog_verbose_callback': (0, 0)} -{'lsq_linear': (0, 10)} -{'milp': (0, 12)} -{'minimize': (0, 12)} -{'minimize_scalar': (0, 6)} -{'newton': (0, 26)} -{'newton_krylov': (0, 8)} -{'nnls': (0, 6)} -{'quadratic_assignment': (0, 22)} -{'ridder': (0, 6)} -{'root': (0, 19)} -{'root_scalar': (0, 12)} -{'rosen': (0, 10)} -{'rosen_der': (0, 3)} -{'rosen_hess': (0, 3)} -{'rosen_hess_prod': (0, 4)} -{'shgo': (0, 24)} -{'toms748': (0, 5)} +BFGS +BFGS._update_hessian +BFGS._update_inverse_hessian +Bounds +Bounds.residual +HessianUpdateStrategy +HessianUpdateStrategy.dot +HessianUpdateStrategy.get_matrix +HessianUpdateStrategy.initialize +HessianUpdateStrategy.update +LbfgsInvHessProduct +LbfgsInvHessProduct.__init__ +LbfgsInvHessProduct._matvec +LbfgsInvHessProduct.todense +LinearConstraint +LinearConstraint.residual +NonlinearConstraint +OptimizeResult +RootResults +SR1 +anderson +approx_fprime +basinhopping +bisect +bracket +brent +brenth +brentq +broyden1 +broyden2 +brute +check_grad +curve_fit +diagbroyden +differential_evolution +direct +dual_annealing +excitingmixing +fixed_point +fmin +fmin_bfgs +fmin_cg +fmin_cobyla +fmin_l_bfgs_b +fmin_ncg +fmin_powell +fmin_slsqp +fmin_tnc +fminbound +fsolve +golden +least_squares +leastsq +line_search +linear_sum_assignment +linearmixing +linprog +linprog_verbose_callback +lsq_linear +milp +minimize +minimize_scalar +newton +newton_krylov +nnls +quadratic_assignment +ridder +root +root_scalar +rosen +rosen_der +rosen_hess +rosen_hess_prod +shgo +toms748 scipy.signal ============ -{'BadCoefficients': (0, 0)} -{'CZT': (0, 14), 'CZT.__call__': (0, 0), 'CZT.points': (0, 0)} -{'StateSpace': (0, 11), 'StateSpace.A': (0, 0), 'StateSpace.B': (0, 0), 'StateSpace.C': (0, 0), 'StateSpace.D': (0, 0), 'StateSpace.__add__': (0, 0), 'StateSpace.__init__': (0, 0), 'StateSpace.__mul__': (0, 0), 'StateSpace.__neg__': (0, 0), 'StateSpace.__new__': (0, 0), 'StateSpace.__repr__': (0, 0), 'StateSpace.__rmul__': (0, 0), 'StateSpace.__truediv__': (0, 0), 'StateSpace._copy': (0, 0), 'StateSpace.to_ss': (0, 0), 'StateSpace.to_tf': (0, 0), 'StateSpace.to_zpk': (0, 0)} -{'TransferFunction': (0, 5), 'TransferFunction.__init__': (0, 0), 'TransferFunction.__new__': (0, 0), 'TransferFunction.__repr__': (0, 0), 'TransferFunction._copy': (0, 0), 'TransferFunction._z_to_zinv': (0, 0), 'TransferFunction._zinv_to_z': (0, 0), 'TransferFunction.den': (0, 0), 'TransferFunction.num': (0, 0), 'TransferFunction.to_ss': (0, 0), 'TransferFunction.to_tf': (0, 0), 'TransferFunction.to_zpk': (0, 0)} -{'ZerosPolesGain': (0, 3), 'ZerosPolesGain.__init__': (0, 0), 'ZerosPolesGain.__new__': (0, 0), 'ZerosPolesGain.__repr__': (0, 0), 'ZerosPolesGain._copy': (0, 0), 'ZerosPolesGain.gain': (0, 0), 'ZerosPolesGain.poles': (0, 0), 'ZerosPolesGain.to_ss': (0, 0), 'ZerosPolesGain.to_tf': (0, 0), 'ZerosPolesGain.to_zpk': (0, 0), 'ZerosPolesGain.zeros': (0, 0)} -{'ZoomFFT': (0, 10)} -{'abcd_normalize': (0, 0)} -{'argrelextrema': (0, 5)} -{'argrelmax': (0, 5)} -{'argrelmin': (0, 5)} -{'band_stop_obj': (0, 0)} -{'barthann': (0, 17)} -{'bartlett': (0, 17)} -{'bessel': (0, 47)} -{'besselap': (0, 0)} -{'bilinear': (0, 14)} -{'bilinear_zpk': (0, 14)} -{'blackman': (0, 18)} -{'blackmanharris': (0, 17)} -{'bode': (0, 9)} -{'bohman': (0, 17)} -{'boxcar': (0, 17)} -{'bspline': (0, 6)} -{'buttap': (0, 0)} -{'butter': (0, 26)} -{'buttord': (0, 15)} -{'cascade': (0, 0)} -{'cheb1ap': (0, 0)} -{'cheb1ord': (0, 14)} -{'cheb2ap': (0, 0)} -{'cheb2ord': (0, 15)} -{'chebwin': (0, 17)} -{'cheby1': (0, 27)} -{'cheby2': (0, 26)} -{'check_COLA': (0, 7)} -{'check_NOLA': (0, 10)} -{'chirp': (0, 24)} -{'choose_conv_method': (0, 10)} -{'cmplx_sort': (0, 5)} -{'coherence': (0, 19)} -{'cont2discrete': (0, 16)} -{'convolve': (0, 17)} -{'convolve2d': (0, 17)} -{'correlate': (0, 41)} -{'correlate2d': (0, 22)} -{'correlation_lags': (0, 8)} -{'cosine': (0, 18)} -{'csd': (0, 19)} -{'cspline1d': (0, 11)} -{'cspline1d_eval': (0, 11)} -{'cspline2d': (0, 0)} -{'cubic': (0, 6)} -{'cwt': (0, 8)} -{'czt': (0, 32)} -{'czt_points': (0, 13)} -{'daub': (0, 0)} -{'dbode': (0, 9)} -{'decimate': (0, 16)} -{'deconvolve': (0, 7)} -{'detrend': (0, 7)} -{'dfreqresp': (0, 8)} -{'dimpulse': (0, 8)} -{'dlsim': (0, 6)} -{'dlti': (0, 5), 'dlti.__init__': (0, 0), 'dlti.__new__': (0, 0), 'dlti.bode': (0, 9), 'dlti.dt': (0, 0), 'dlti.freqresp': (0, 0), 'dlti.impulse': (0, 0), 'dlti.output': (0, 0), 'dlti.step': (0, 0)} -{'dstep': (0, 8)} -{'ellip': (0, 28)} -{'ellipap': (0, 0)} -{'ellipord': (0, 14)} -{'exponential': (0, 25)} -{'fftconvolve': (0, 27)} -{'filtfilt': (0, 29)} -{'find_peaks': (0, 34)} -{'find_peaks_cwt': (0, 5)} -{'findfreqs': (0, 2)} -{'firls': (0, 8)} -{'firwin': (0, 12)} -{'firwin2': (0, 3)} -{'flattop': (0, 17)} -{'freqresp': (0, 8)} -{'freqs': (0, 9)} -{'freqs_zpk': (0, 9)} -{'freqz': (0, 26)} -{'freqz_zpk': (0, 17)} -{'gammatone': (0, 15)} -{'gauss_spline': (0, 4)} -{'gaussian': (0, 17)} -{'gausspulse': (0, 5)} -{'general_gaussian': (0, 17)} -{'get_window': (0, 5)} -{'group_delay': (0, 9)} -{'hamming': (0, 17)} -{'hann': (0, 18)} -{'hilbert': (0, 22)} -{'hilbert2': (0, 0)} -{'iircomb': (0, 46)} -{'iirdesign': (0, 26)} -{'iirfilter': (0, 24)} -{'iirnotch': (0, 22)} -{'iirpeak': (0, 22)} -{'impulse': (0, 5)} -{'impulse2': (0, 5)} -{'invres': (0, 0)} -{'invresz': (0, 0)} -{'istft': (0, 37)} -{'kaiser': (0, 17)} -{'kaiser_atten': (0, 2)} -{'kaiser_beta': (0, 2)} -{'kaiserord': (0, 23)} -{'lfilter': (0, 17)} -{'lfilter_zi': (0, 9)} -{'lfiltic': (0, 0)} -{'lombscargle': (0, 18)} -{'lp2bp': (0, 13)} -{'lp2bp_zpk': (0, 0)} -{'lp2bs': (0, 13)} -{'lp2bs_zpk': (0, 0)} -{'lp2hp': (0, 13)} -{'lp2hp_zpk': (0, 0)} -{'lp2lp': (0, 13)} -{'lp2lp_zpk': (0, 0)} -{'lsim': (0, 25)} -{'lsim2': (0, 25)} -{'lti': (0, 4), 'lti.__init__': (0, 0), 'lti.__new__': (0, 0), 'lti.bode': (0, 9), 'lti.freqresp': (0, 0), 'lti.impulse': (0, 0), 'lti.output': (0, 0), 'lti.step': (0, 0), 'lti.to_discrete': (0, 0)} -{'max_len_seq': (0, 23)} -{'medfilt': (0, 0)} -{'medfilt2d': (0, 0)} -{'minimum_phase': (0, 17)} -{'morlet': (0, 0)} -{'morlet2': (0, 19)} -{'normalize': (0, 0)} -{'nuttall': (0, 17)} -{'oaconvolve': (0, 13)} -{'order_filter': (0, 6)} -{'parzen': (0, 17)} -{'peak_prominences': (0, 19)} -{'peak_widths': (0, 14)} -{'periodogram': (0, 26)} -{'place_poles': (0, 25)} -{'qmf': (0, 0)} -{'qspline1d': (0, 11)} -{'qspline1d_eval': (0, 11)} -{'qspline2d': (0, 0)} -{'quadratic': (0, 6)} -{'remez': (0, 34)} -{'resample': (0, 9)} -{'resample_poly': (0, 27)} -{'residue': (0, 0)} -{'residuez': (0, 0)} -{'ricker': (0, 8)} -{'savgol_coeffs': (0, 9)} -{'savgol_filter': (0, 5)} -{'sawtooth': (0, 4)} -{'sepfir2d': (0, 0)} -{'sos2tf': (0, 0)} -{'sos2zpk': (0, 0)} -{'sosfilt': (0, 11)} -{'sosfilt_zi': (0, 12)} -{'sosfiltfilt': (0, 19)} -{'sosfreqz': (0, 36)} -{'spectrogram': (0, 24)} -{'spline_filter': (0, 9)} -{'square': (0, 13)} -{'ss2tf': (0, 6)} -{'ss2zpk': (0, 0)} -{'step': (0, 9)} -{'step2': (0, 9)} -{'stft': (0, 24)} -{'sweep_poly': (0, 14)} -{'symiirorder1': (0, 0)} -{'symiirorder2': (0, 0)} -{'tf2sos': (0, 0)} -{'tf2ss': (0, 8)} -{'tf2zpk': (0, 0)} -{'triang': (0, 18)} -{'tukey': (0, 18)} -{'unique_roots': (0, 4)} -{'unit_impulse': (0, 16)} -{'upfirdn': (0, 12)} -{'vectorstrength': (0, 0)} -{'welch': (0, 35)} -{'wiener': (0, 11)} -{'zoom_fft': (0, 9)} -{'zpk2sos': (0, 10)} -{'zpk2ss': (0, 0)} -{'zpk2tf': (0, 0)} +BadCoefficients +CZT +CZT.__call__ +CZT.points +StateSpace +StateSpace.A +StateSpace.B +StateSpace.C +StateSpace.D +StateSpace.__add__ +StateSpace.__init__ +StateSpace.__mul__ +StateSpace.__neg__ +StateSpace.__new__ +StateSpace.__repr__ +StateSpace.__rmul__ +StateSpace.__truediv__ +StateSpace._copy +StateSpace.to_ss +StateSpace.to_tf +StateSpace.to_zpk +TransferFunction +TransferFunction.__init__ +TransferFunction.__new__ +TransferFunction.__repr__ +TransferFunction._copy +TransferFunction._z_to_zinv +TransferFunction._zinv_to_z +TransferFunction.den +TransferFunction.num +TransferFunction.to_ss +TransferFunction.to_tf +TransferFunction.to_zpk +ZerosPolesGain +ZerosPolesGain.__init__ +ZerosPolesGain.__new__ +ZerosPolesGain.__repr__ +ZerosPolesGain._copy +ZerosPolesGain.gain +ZerosPolesGain.poles +ZerosPolesGain.to_ss +ZerosPolesGain.to_tf +ZerosPolesGain.to_zpk +ZerosPolesGain.zeros +ZoomFFT +abcd_normalize +argrelextrema +argrelmax +argrelmin +band_stop_obj +barthann +bartlett +bessel +besselap +bilinear +bilinear_zpk +blackman +blackmanharris +bode +bohman +boxcar +bspline +buttap +butter +buttord +cascade +cheb1ap +cheb1ord +cheb2ap +cheb2ord +chebwin +cheby1 +cheby2 +check_COLA +check_NOLA +chirp +choose_conv_method +cmplx_sort +coherence +cont2discrete +convolve +convolve2d +correlate +correlate2d +correlation_lags +cosine +csd +cspline1d +cspline1d_eval +cspline2d +cubic +cwt +czt +czt_points +daub +dbode +decimate +deconvolve +detrend +dfreqresp +dimpulse +dlsim +dlti +dlti.__init__ +dlti.__new__ +dlti.bode +dlti.dt +dlti.freqresp +dlti.impulse +dlti.output +dlti.step +dstep +ellip +ellipap +ellipord +exponential +fftconvolve +filtfilt +find_peaks +find_peaks_cwt +findfreqs +firls +firwin +firwin2 +flattop +freqresp +freqs +freqs_zpk +freqz +freqz_zpk +gammatone +gauss_spline +gaussian +gausspulse +general_gaussian +get_window +group_delay +hamming +hann +hilbert +hilbert2 +iircomb +iirdesign +iirfilter +iirnotch +iirpeak +impulse +impulse2 +invres +invresz +istft +kaiser +kaiser_atten +kaiser_beta +kaiserord +lfilter +lfilter_zi +lfiltic +lombscargle +lp2bp +lp2bp_zpk +lp2bs +lp2bs_zpk +lp2hp +lp2hp_zpk +lp2lp +lp2lp_zpk +lsim +lsim2 +lti +lti.__init__ +lti.__new__ +lti.bode +lti.freqresp +lti.impulse +lti.output +lti.step +lti.to_discrete +max_len_seq +medfilt +medfilt2d +minimum_phase +morlet +morlet2 +normalize +nuttall +oaconvolve +order_filter +parzen +peak_prominences +peak_widths +periodogram +place_poles +qmf +qspline1d +qspline1d_eval +qspline2d +quadratic +remez +resample +resample_poly +residue +residuez +ricker +savgol_coeffs +savgol_filter +sawtooth +sepfir2d +sos2tf +sos2zpk +sosfilt +sosfilt_zi +sosfiltfilt +sosfreqz +spectrogram +spline_filter +square +ss2tf +ss2zpk +step +step2 +stft +sweep_poly +symiirorder1 +symiirorder2 +tf2sos +tf2ss +tf2zpk +triang +tukey +unique_roots +unit_impulse +upfirdn +vectorstrength +welch +wiener +zoom_fft +zpk2sos +zpk2ss +zpk2tf scipy.signal.windows ==================== -{'boxcar': (0, 17)} -{'triang': (0, 18)} -{'parzen': (0, 17)} -{'bohman': (0, 17)} -{'blackman': (0, 18)} -{'nuttall': (0, 17)} -{'blackmanharris': (0, 17)} -{'flattop': (0, 17)} -{'bartlett': (0, 17)} -{'barthann': (0, 17)} -{'hamming': (0, 17)} -{'kaiser': (0, 17)} -{'kaiser_bessel_derived': (0, 14)} -{'gaussian': (0, 17)} -{'general_gaussian': (0, 17)} -{'general_cosine': (0, 21)} -{'general_hamming': (0, 14)} -{'chebwin': (0, 17)} -{'cosine': (0, 18)} -{'hann': (0, 18)} -{'exponential': (0, 25)} -{'tukey': (0, 18)} -{'taylor': (0, 17)} -{'get_window': (0, 5)} -{'dpss': (0, 30)} +boxcar +triang +parzen +bohman +blackman +nuttall +blackmanharris +flattop +bartlett +barthann +hamming +kaiser +kaiser_bessel_derived +gaussian +general_gaussian +general_cosine +general_hamming +chebwin +cosine +hann +exponential +tukey +taylor +get_window +dpss scipy.sparse ============ -{} -{} -{'block_diag': (0, 5)} -{'bmat': (0, 6)} -{'bsr_array': (0, 10)} -{'bsr_matrix': (0, 10), 'bsr_matrix._binopt': (0, 0), 'bsr_matrix._with_data': (0, 0), 'bsr_matrix.check_format': (0, 0), 'bsr_matrix.diagonal': (0, 4), 'bsr_matrix.eliminate_zeros': (0, 0), 'bsr_matrix.getnnz': (0, 0), 'bsr_matrix.prune': (0, 0), 'bsr_matrix.sort_indices': (0, 0), 'bsr_matrix.sum_duplicates': (0, 0), 'bsr_matrix.toarray': (0, 0), 'bsr_matrix.tobsr': (0, 0), 'bsr_matrix.tocoo': (0, 0), 'bsr_matrix.tocsc': (0, 0), 'bsr_matrix.tocsr': (0, 0), 'bsr_matrix.transpose': (0, 0)} -{'coo_array': (0, 12)} -{'coo_matrix': (0, 12), 'coo_matrix._check': (0, 0), 'coo_matrix._with_data': (0, 0), 'coo_matrix.diagonal': (0, 4), 'coo_matrix.eliminate_zeros': (0, 0), 'coo_matrix.getnnz': (0, 0), 'coo_matrix.reshape': (0, 0), 'coo_matrix.resize': (0, 0), 'coo_matrix.sum_duplicates': (0, 0), 'coo_matrix.toarray': (0, 0), 'coo_matrix.tocoo': (0, 0), 'coo_matrix.tocsc': (0, 7), 'coo_matrix.tocsr': (0, 7), 'coo_matrix.todia': (0, 0), 'coo_matrix.todok': (0, 0), 'coo_matrix.transpose': (0, 0)} -{'csc_array': (0, 11)} -{'csc_matrix': (0, 11), 'csc_matrix._swap': (0, 0), 'csc_matrix.getcol': (0, 0), 'csc_matrix.getrow': (0, 0), 'csc_matrix.nonzero': (0, 3), 'csc_matrix.tocsc': (0, 0), 'csc_matrix.tocsr': (0, 0), 'csc_matrix.transpose': (0, 0)} -{'csr_array': (0, 22)} -{'csr_matrix': (0, 22), 'csr_matrix._swap': (0, 0), 'csr_matrix.getcol': (0, 0), 'csr_matrix.getrow': (0, 0), 'csr_matrix.tobsr': (0, 0), 'csr_matrix.tocsc': (0, 0), 'csr_matrix.tocsr': (0, 0), 'csr_matrix.tolil': (0, 0), 'csr_matrix.transpose': (0, 0)} -{'dia_array': (0, 12)} -{'dia_matrix': (0, 12), 'dia_matrix._data_mask': (0, 0), 'dia_matrix._with_data': (0, 0), 'dia_matrix.count_nonzero': (0, 0), 'dia_matrix.diagonal': (0, 4), 'dia_matrix.getnnz': (0, 0), 'dia_matrix.resize': (0, 0), 'dia_matrix.sum': (0, 0), 'dia_matrix.tocoo': (0, 0), 'dia_matrix.tocsc': (0, 0), 'dia_matrix.todia': (0, 0), 'dia_matrix.transpose': (0, 0)} -{'diags': (0, 5)} -{'dok_array': (0, 4)} -{'dok_matrix': (0, 4), 'dok_matrix._update': (0, 0), 'dok_matrix.conjtransp': (0, 0), 'dok_matrix.copy': (0, 0), 'dok_matrix.count_nonzero': (0, 0), 'dok_matrix.get': (0, 0), 'dok_matrix.getnnz': (0, 0), 'dok_matrix.resize': (0, 0), 'dok_matrix.shape': (0, 0), 'dok_matrix.tocoo': (0, 0), 'dok_matrix.tocsc': (0, 0), 'dok_matrix.todok': (0, 0), 'dok_matrix.transpose': (0, 0)} -{'eye': (0, 3)} -{'find': (0, 3)} -{'hstack': (0, 4)} -{'identity': (0, 3)} -{'issparse': (0, 4)} -{'isspmatrix': (0, 4)} -{'isspmatrix_bsr': (0, 4)} -{'isspmatrix_coo': (0, 4)} -{'isspmatrix_csc': (0, 4)} -{'isspmatrix_csr': (0, 4)} -{'isspmatrix_dia': (0, 4)} -{'isspmatrix_dok': (0, 4)} -{'isspmatrix_lil': (0, 4)} -{'kron': (0, 5)} -{'kronsum': (0, 0)} -{'lil_array': (0, 0)} -{'lil_matrix': (0, 0), 'lil_matrix._get_row_ranges': (0, 0), 'lil_matrix.copy': (0, 0), 'lil_matrix.count_nonzero': (0, 0), 'lil_matrix.getnnz': (0, 0), 'lil_matrix.getrow': (0, 0), 'lil_matrix.getrowview': (0, 0), 'lil_matrix.reshape': (0, 0), 'lil_matrix.resize': (0, 0), 'lil_matrix.toarray': (0, 0), 'lil_matrix.tocsr': (0, 0), 'lil_matrix.tolil': (0, 0), 'lil_matrix.transpose': (0, 0)} -{'load_npz': (0, 8)} -{'rand': (0, 4)} -{'random': (0, 14)} -{'save_npz': (0, 8)} -{'spdiags': (0, 4)} -{'spmatrix': (0, 0), 'spmatrix._mul_dispatch': (0, 0), 'spmatrix.asformat': (0, 0), 'spmatrix.asfptype': (0, 0), 'spmatrix.astype': (0, 0), 'spmatrix.conj': (0, 0), 'spmatrix.conjugate': (0, 0), 'spmatrix.copy': (0, 0), 'spmatrix.count_nonzero': (0, 0), 'spmatrix.diagonal': (0, 4), 'spmatrix.dot': (0, 5), 'spmatrix.getH': (0, 0), 'spmatrix.get_shape': (0, 0), 'spmatrix.getcol': (0, 0), 'spmatrix.getformat': (0, 0), 'spmatrix.getmaxprint': (0, 0), 'spmatrix.getnnz': (0, 0), 'spmatrix.getrow': (0, 0), 'spmatrix.maximum': (0, 0), 'spmatrix.mean': (0, 0), 'spmatrix.minimum': (0, 0), 'spmatrix.multiply': (0, 0), 'spmatrix.nnz': (0, 0), 'spmatrix.nonzero': (0, 3), 'spmatrix.power': (0, 0), 'spmatrix.reshape': (0, 0), 'spmatrix.resize': (0, 0), 'spmatrix.set_shape': (0, 0), 'spmatrix.setdiag': (0, 0), 'spmatrix.shape': (0, 0), 'spmatrix.sum': (0, 0), 'spmatrix.toarray': (0, 0), 'spmatrix.tobsr': (0, 0), 'spmatrix.tocoo': (0, 0), 'spmatrix.tocsc': (0, 0), 'spmatrix.tocsr': (0, 0), 'spmatrix.todense': (0, 0), 'spmatrix.todia': (0, 0), 'spmatrix.todok': (0, 0), 'spmatrix.tolil': (0, 0), 'spmatrix.trace': (0, 0), 'spmatrix.transpose': (0, 0)} -{'tril': (0, 8)} -{'triu': (0, 8)} -{'vstack': (0, 4)} +block_diag +bmat +bsr_array +bsr_matrix +bsr_matrix._binopt +bsr_matrix._with_data +bsr_matrix.check_format +bsr_matrix.diagonal +bsr_matrix.eliminate_zeros +bsr_matrix.getnnz +bsr_matrix.prune +bsr_matrix.sort_indices +bsr_matrix.sum_duplicates +bsr_matrix.toarray +bsr_matrix.tobsr +bsr_matrix.tocoo +bsr_matrix.tocsc +bsr_matrix.tocsr +bsr_matrix.transpose +coo_array +coo_matrix +coo_matrix._check +coo_matrix._with_data +coo_matrix.diagonal +coo_matrix.eliminate_zeros +coo_matrix.getnnz +coo_matrix.reshape +coo_matrix.resize +coo_matrix.sum_duplicates +coo_matrix.toarray +coo_matrix.tocoo +coo_matrix.tocsc +coo_matrix.tocsr +coo_matrix.todia +coo_matrix.todok +coo_matrix.transpose +csc_array +csc_matrix +csc_matrix._swap +csc_matrix.getcol +csc_matrix.getrow +csc_matrix.nonzero +csc_matrix.tocsc +csc_matrix.tocsr +csc_matrix.transpose +csr_array +csr_matrix +csr_matrix._swap +csr_matrix.getcol +csr_matrix.getrow +csr_matrix.tobsr +csr_matrix.tocsc +csr_matrix.tocsr +csr_matrix.tolil +csr_matrix.transpose +dia_array +dia_matrix +dia_matrix._data_mask +dia_matrix._with_data +dia_matrix.count_nonzero +dia_matrix.diagonal +dia_matrix.getnnz +dia_matrix.resize +dia_matrix.sum +dia_matrix.tocoo +dia_matrix.tocsc +dia_matrix.todia +dia_matrix.transpose +diags +dok_array +dok_matrix +dok_matrix._update +dok_matrix.conjtransp +dok_matrix.copy +dok_matrix.count_nonzero +dok_matrix.get +dok_matrix.getnnz +dok_matrix.resize +dok_matrix.shape +dok_matrix.tocoo +dok_matrix.tocsc +dok_matrix.todok +dok_matrix.transpose +eye +find +hstack +identity +issparse +isspmatrix +isspmatrix_bsr +isspmatrix_coo +isspmatrix_csc +isspmatrix_csr +isspmatrix_dia +isspmatrix_dok +isspmatrix_lil +kron +kronsum +lil_array +lil_matrix +lil_matrix._get_row_ranges +lil_matrix.copy +lil_matrix.count_nonzero +lil_matrix.getnnz +lil_matrix.getrow +lil_matrix.getrowview +lil_matrix.reshape +lil_matrix.resize +lil_matrix.toarray +lil_matrix.tocsr +lil_matrix.tolil +lil_matrix.transpose +load_npz +rand +random +save_npz +spdiags +spmatrix +spmatrix._mul_dispatch +spmatrix.asformat +spmatrix.asfptype +spmatrix.astype +spmatrix.conj +spmatrix.conjugate +spmatrix.copy +spmatrix.count_nonzero +spmatrix.diagonal +spmatrix.dot +spmatrix.getH +spmatrix.get_shape +spmatrix.getcol +spmatrix.getformat +spmatrix.getmaxprint +spmatrix.getnnz +spmatrix.getrow +spmatrix.maximum +spmatrix.mean +spmatrix.minimum +spmatrix.multiply +spmatrix.nnz +spmatrix.nonzero +spmatrix.power +spmatrix.reshape +spmatrix.resize +spmatrix.set_shape +spmatrix.setdiag +spmatrix.shape +spmatrix.sum +spmatrix.toarray +spmatrix.tobsr +spmatrix.tocoo +spmatrix.tocsc +spmatrix.tocsr +spmatrix.todense +spmatrix.todia +spmatrix.todok +spmatrix.tolil +spmatrix.trace +spmatrix.transpose +tril +triu +vstack scipy.sparse.csgraph ==================== -{'connected_components': (0, 8)} -{'laplacian': (0, 46)} -{'shortest_path': (0, 8)} -{'floyd_warshall': (0, 8)} -{'dijkstra': (0, 8)} -{'bellman_ford': (0, 8)} -{'johnson': (0, 8)} -{'breadth_first_order': (0, 6)} -{'depth_first_order': (0, 6)} -{'breadth_first_tree': (0, 5)} -{'depth_first_tree': (0, 5)} -{'minimum_spanning_tree': (0, 5)} -{'reverse_cuthill_mckee': (0, 6)} -{'maximum_flow': (0, 21)} -{'maximum_bipartite_matching': (0, 18)} -{'min_weight_full_bipartite_matching': (0, 33)} -{'structural_rank': (0, 6)} -{'construct_dist_matrix': (0, 7)} -{'reconstruct_path': (0, 8)} -{'csgraph_masked_from_dense': (0, 3)} -{'csgraph_from_dense': (0, 3)} -{'csgraph_from_masked': (0, 4)} -{'csgraph_to_dense': (0, 19)} -{'csgraph_to_masked': (0, 5)} -{} +connected_components +laplacian +shortest_path +floyd_warshall +dijkstra +bellman_ford +johnson +breadth_first_order +depth_first_order +breadth_first_tree +depth_first_tree +minimum_spanning_tree +reverse_cuthill_mckee +maximum_flow +maximum_bipartite_matching +min_weight_full_bipartite_matching +structural_rank +construct_dist_matrix +reconstruct_path +csgraph_masked_from_dense +csgraph_from_dense +csgraph_from_masked +csgraph_to_dense +csgraph_to_masked scipy.sparse.linalg =================== -{'ArpackError': (0, 0)} -{'ArpackNoConvergence': (0, 0)} -{'LinearOperator': (0, 7), 'LinearOperator.H': (0, 0), 'LinearOperator.T': (0, 0), 'LinearOperator.__init__': (0, 0), 'LinearOperator._adjoint': (0, 0), 'LinearOperator._init_dtype': (0, 0), 'LinearOperator._matmat': (0, 0), 'LinearOperator._matvec': (0, 0), 'LinearOperator._rmatmat': (0, 0), 'LinearOperator._rmatvec': (0, 0), 'LinearOperator._transpose': (0, 0), 'LinearOperator.adjoint': (0, 0), 'LinearOperator.dot': (0, 0), 'LinearOperator.matmat': (0, 0), 'LinearOperator.matvec': (0, 0), 'LinearOperator.rmatmat': (0, 0), 'LinearOperator.rmatvec': (0, 0), 'LinearOperator.transpose': (0, 0)} -{} -{'SuperLU': (0, 14), 'SuperLU.solve': (0, 0)} -{'aslinearoperator': (0, 3)} -{'bicg': (0, 7)} -{'bicgstab': (0, 8)} -{'cg': (0, 8)} -{'cgs': (0, 8)} -{'eigs': (0, 5)} -{'eigsh': (0, 5)} -{'expm': (0, 7)} -{'expm_multiply': (0, 10)} -{'factorized': (0, 5)} -{'gcrotmk': (0, 8)} -{'gmres': (0, 7)} -{'inv': (0, 7)} -{'lgmres': (0, 7)} -{'lobpcg': (0, 15)} -{'lsmr': (0, 19)} -{'lsqr': (0, 19)} -{'minres': (0, 9)} -{'norm': (0, 14)} -{'onenormest': (0, 6)} -{'qmr': (0, 7)} -{'spilu': (0, 8)} -{'splu': (0, 8)} -{'spsolve': (0, 6)} -{'spsolve_triangular': (0, 6)} -{'svds': (0, 17)} -{'tfqmr': (0, 7)} -{'use_solver': (0, 9)} +ArpackError +ArpackNoConvergence +LinearOperator +LinearOperator.H +LinearOperator.T +LinearOperator.__init__ +LinearOperator._adjoint +LinearOperator._init_dtype +LinearOperator._matmat +LinearOperator._matvec +LinearOperator._rmatmat +LinearOperator._rmatvec +LinearOperator._transpose +LinearOperator.adjoint +LinearOperator.dot +LinearOperator.matmat +LinearOperator.matvec +LinearOperator.rmatmat +LinearOperator.rmatvec +LinearOperator.transpose +SuperLU +SuperLU.solve +aslinearoperator +bicg +bicgstab +cg +cgs +eigs +eigsh +expm +expm_multiply +factorized +gcrotmk +gmres +inv +lgmres +lobpcg +lsmr +lsqr +minres +norm +onenormest +qmr +spilu +splu +spsolve +spsolve_triangular +svds +tfqmr +use_solver scipy.spatial ============= -{'ConvexHull': (0, 19), 'ConvexHull.add_points': (0, 0)} -{'Delaunay': (0, 17), 'Delaunay.add_points': (0, 0), 'Delaunay.convex_hull': (0, 0), 'Delaunay.find_simplex': (0, 0), 'Delaunay.lift_points': (0, 0), 'Delaunay.plane_distance': (0, 0), 'Delaunay.transform': (0, 0), 'Delaunay.vertex_neighbor_vertices': (0, 0), 'Delaunay.vertex_to_simplex': (0, 0)} -{'HalfspaceIntersection': (0, 31), 'HalfspaceIntersection.add_halfspaces': (0, 0)} -{'KDTree': (0, 0), 'KDTree.count_neighbors': (0, 10), 'KDTree.node._create': (0, 0), 'KDTree.query': (0, 14), 'KDTree.query_ball_point': (0, 11), 'KDTree.query_ball_tree': (0, 14), 'KDTree.query_pairs': (0, 11), 'KDTree.sparse_distance_matrix': (0, 11)} -{} -{'Rectangle': (0, 0), 'Rectangle.__init__': (0, 0), 'Rectangle.max_distance_point': (0, 0), 'Rectangle.max_distance_rectangle': (0, 0), 'Rectangle.min_distance_point': (0, 0), 'Rectangle.min_distance_rectangle': (0, 0), 'Rectangle.split': (0, 0), 'Rectangle.volume': (0, 0)} -{'SphericalVoronoi': (0, 27), 'SphericalVoronoi._calc_vertices_regions': (0, 0), 'SphericalVoronoi.calculate_areas': (0, 0), 'SphericalVoronoi.sort_vertices_of_regions': (0, 0)} -{'Voronoi': (0, 10), 'Voronoi.add_points': (0, 0)} -{'cKDTree': (0, 0), 'cKDTree.__init__': (0, 0), 'cKDTree._build_weights': (0, 0), 'cKDTree.count_neighbors': (0, 10), 'cKDTree.query': (0, 14), 'cKDTree.query_ball_point': (0, 11), 'cKDTree.query_ball_tree': (0, 14), 'cKDTree.query_pairs': (0, 11), 'cKDTree.sparse_distance_matrix': (0, 11)} -{'convex_hull_plot_2d': (0, 7)} -{'delaunay_plot_2d': (0, 7)} -{'distance_matrix': (0, 2)} -{'geometric_slerp': (0, 30)} -{'minkowski_distance': (0, 2)} -{'minkowski_distance_p': (0, 2)} -{'procrustes': (0, 5)} -{'tsearch': (0, 12)} -{'voronoi_plot_2d': (0, 8)} +ConvexHull +ConvexHull.add_points +Delaunay +Delaunay.add_points +Delaunay.convex_hull +Delaunay.find_simplex +Delaunay.lift_points +Delaunay.plane_distance +Delaunay.transform +Delaunay.vertex_neighbor_vertices +Delaunay.vertex_to_simplex +HalfspaceIntersection +HalfspaceIntersection.add_halfspaces +KDTree +KDTree.count_neighbors +KDTree.node._create +KDTree.query +KDTree.query_ball_point +KDTree.query_ball_tree +KDTree.query_pairs +KDTree.sparse_distance_matrix +Rectangle +Rectangle.__init__ +Rectangle.max_distance_point +Rectangle.max_distance_rectangle +Rectangle.min_distance_point +Rectangle.min_distance_rectangle +Rectangle.split +Rectangle.volume +SphericalVoronoi +SphericalVoronoi._calc_vertices_regions +SphericalVoronoi.calculate_areas +SphericalVoronoi.sort_vertices_of_regions +Voronoi +Voronoi.add_points +cKDTree +cKDTree.__init__ +cKDTree._build_weights +cKDTree.count_neighbors +cKDTree.query +cKDTree.query_ball_point +cKDTree.query_ball_tree +cKDTree.query_pairs +cKDTree.sparse_distance_matrix +convex_hull_plot_2d +delaunay_plot_2d +distance_matrix +geometric_slerp +minkowski_distance +minkowski_distance_p +procrustes +tsearch +voronoi_plot_2d scipy.spatial.distance ====================== -{'braycurtis': (0, 3)} -{'canberra': (0, 3)} -{'cdist': (0, 6)} -{'chebyshev': (0, 3)} -{'cityblock': (0, 4)} -{'correlation': (0, 0)} -{'cosine': (0, 4)} -{'dice': (0, 4)} -{'directed_hausdorff': (0, 7)} -{'euclidean': (0, 3)} -{'hamming': (0, 5)} -{'is_valid_dm': (0, 0)} -{'is_valid_y': (0, 0)} -{'jaccard': (0, 5)} -{'jensenshannon': (0, 8)} -{'kulczynski1': (0, 5)} -{'mahalanobis': (0, 5)} -{'minkowski': (0, 7)} -{'num_obs_dm': (0, 0)} -{'num_obs_y': (0, 0)} -{'pdist': (0, 0)} -{'rogerstanimoto': (0, 4)} -{'russellrao': (0, 4)} -{'seuclidean': (0, 4)} -{'sokalmichener': (0, 4)} -{'sokalsneath': (0, 5)} -{'sqeuclidean': (0, 3)} -{'squareform': (0, 0)} -{'yule': (0, 3)} +braycurtis +canberra +cdist +chebyshev +cityblock +correlation +cosine +dice +directed_hausdorff +euclidean +hamming +is_valid_dm +is_valid_y +jaccard +jensenshannon +kulczynski1 +mahalanobis +minkowski +num_obs_dm +num_obs_y +pdist +rogerstanimoto +russellrao +seuclidean +sokalmichener +sokalsneath +sqeuclidean +squareform +yule scipy.spatial.transform ======================= -{'Rotation': (0, 38), 'Rotation.__delitem__': (0, 0), 'Rotation.__getitem__': (0, 7), 'Rotation.__init__': (0, 0), 'Rotation.__len__': (0, 0), 'Rotation.__mul__': (0, 13), 'Rotation.__rmul__': (0, 0), 'Rotation.__setitem__': (0, 0), 'Rotation.align_vectors': (0, 0), 'Rotation.apply': (0, 23), 'Rotation.as_euler': (0, 10), 'Rotation.as_matrix': (0, 10), 'Rotation.as_mrp': (0, 10), 'Rotation.as_quat': (0, 8), 'Rotation.as_rotvec': (0, 14), 'Rotation.concatenate': (0, 0), 'Rotation.create_group': (0, 0), 'Rotation.from_euler': (0, 13), 'Rotation.from_matrix': (0, 14), 'Rotation.from_mrp': (0, 9), 'Rotation.from_quat': (0, 12), 'Rotation.from_rotvec': (0, 11), 'Rotation.identity': (0, 0), 'Rotation.inv': (0, 7), 'Rotation.magnitude': (0, 4), 'Rotation.mean': (0, 3), 'Rotation.random': (0, 3), 'Rotation.reduce': (0, 0)} -{'Slerp': (0, 9), 'Slerp.__call__': (0, 0)} -{'RotationSpline': (0, 24), 'RotationSpline.__call__': (0, 0)} +Rotation +Rotation.__delitem__ +Rotation.__getitem__ +Rotation.__init__ +Rotation.__len__ +Rotation.__mul__ +Rotation.__rmul__ +Rotation.__setitem__ +Rotation.align_vectors +Rotation.apply +Rotation.as_euler +Rotation.as_matrix +Rotation.as_mrp +Rotation.as_quat +Rotation.as_rotvec +Rotation.concatenate +Rotation.create_group +Rotation.from_euler +Rotation.from_matrix +Rotation.from_mrp +Rotation.from_quat +Rotation.from_rotvec +Rotation.identity +Rotation.inv +Rotation.magnitude +Rotation.mean +Rotation.random +Rotation.reduce +Slerp +Slerp.__call__ +RotationSpline +RotationSpline.__call__ scipy.special ============= -{'agm': (0, 7)} -{'airy': (0, 10)} -{'airye': (0, 15)} -{'bdtr': (0, 0)} -{'bdtrc': (0, 0)} -{'bdtri': (0, 0)} -{'bdtrik': (0, 0)} -{'bdtrin': (0, 0)} -{'bei': (0, 4)} -{'beip': (0, 0)} -{'ber': (0, 4)} -{'berp': (0, 0)} -{'besselpoly': (0, 0)} -{'beta': (0, 6)} -{'betainc': (0, 7)} -{'betaincinv': (0, 7)} -{'betaln': (0, 0)} -{'binom': (0, 11)} -{'boxcox': (0, 3)} -{'boxcox1p': (0, 3)} -{'btdtr': (0, 0)} -{'btdtri': (0, 0)} -{'btdtria': (0, 0)} -{'btdtrib': (0, 0)} -{'cbrt': (0, 3)} -{'chdtr': (0, 5)} -{'chdtrc': (0, 5)} -{'chdtri': (0, 5)} -{'chdtriv': (0, 5)} -{'chndtr': (0, 0)} -{'chndtridf': (0, 0)} -{'chndtrinc': (0, 0)} -{'chndtrix': (0, 0)} -{'cosdg': (0, 4)} -{'cosm1': (0, 4)} -{'cotdg': (0, 4)} -{'dawsn': (0, 7)} -{'ellipe': (0, 8)} -{'ellipeinc': (0, 0)} -{'ellipj': (0, 0)} -{'ellipk': (0, 0)} -{'ellipkinc': (0, 0)} -{'ellipkm1': (0, 0)} -{'elliprc': (0, 20)} -{'elliprd': (0, 13)} -{'elliprf': (0, 13)} -{'elliprg': (0, 14)} -{'elliprj': (0, 13)} -{'entr': (0, 0)} -{'erf': (0, 7)} -{'erfc': (0, 7)} -{'erfcinv': (0, 5)} -{'erfcx': (0, 7)} -{'erfi': (0, 7)} -{'erfinv': (0, 5)} -{'eval_chebyc': (0, 4)} -{'eval_chebys': (0, 4)} -{'eval_chebyt': (0, 0)} -{'eval_chebyu': (0, 0)} -{'eval_gegenbauer': (0, 0)} -{'eval_genlaguerre': (0, 0)} -{'eval_hermite': (0, 0)} -{'eval_hermitenorm': (0, 0)} -{'eval_jacobi': (0, 0)} -{'eval_laguerre': (0, 0)} -{'eval_legendre': (0, 14)} -{'eval_sh_chebyt': (0, 0)} -{'eval_sh_chebyu': (0, 0)} -{'eval_sh_jacobi': (0, 0)} -{'eval_sh_legendre': (0, 0)} -{'exp1': (0, 9)} -{'exp10': (0, 4)} -{'exp2': (0, 4)} -{'expi': (0, 10)} -{'expit': (0, 12)} -{'expm1': (0, 5)} -{'expn': (0, 8)} -{'exprel': (0, 5)} -{'fdtr': (0, 0)} -{'fdtrc': (0, 0)} -{'fdtri': (0, 0)} -{'fdtridfd': (0, 0)} -{'fresnel': (0, 9)} -{'gamma': (0, 18)} -{'gammainc': (0, 5)} -{'gammaincc': (0, 5)} -{'gammainccinv': (0, 6)} -{'gammaincinv': (0, 6)} -{'gammaln': (0, 6)} -{'gammasgn': (0, 6)} -{'gdtr': (0, 0)} -{'gdtrc': (0, 0)} -{'gdtria': (0, 4)} -{'gdtrib': (0, 4)} -{'gdtrix': (0, 4)} -{'hankel1': (0, 0)} -{'hankel1e': (0, 0)} -{'hankel2': (0, 0)} -{'hankel2e': (0, 0)} -{'huber': (0, 0)} -{'hyp0f1': (0, 11)} -{'hyp1f1': (0, 8)} -{'hyp2f1': (0, 17)} -{'hyperu': (0, 8)} -{'i0': (0, 0)} -{'i0e': (0, 0)} -{'i1': (0, 0)} -{'i1e': (0, 0)} -{'inv_boxcox': (0, 3)} -{'inv_boxcox1p': (0, 3)} -{'it2i0k0': (0, 0)} -{'it2j0y0': (0, 0)} -{'it2struve0': (0, 0)} -{'itairy': (0, 0)} -{'iti0k0': (0, 0)} -{'itj0y0': (0, 0)} -{'itmodstruve0': (0, 0)} -{'itstruve0': (0, 0)} -{'iv': (0, 0)} -{'ive': (0, 0)} -{'j0': (0, 0)} -{'j1': (0, 0)} -{'jv': (0, 0)} -{'jve': (0, 0)} -{'k0': (0, 0)} -{'k0e': (0, 0)} -{'k1': (0, 0)} -{'k1e': (0, 0)} -{'kei': (0, 4)} -{'keip': (0, 0)} -{'kelvin': (0, 0)} -{'ker': (0, 4)} -{'kerp': (0, 0)} -{'kl_div': (0, 0)} -{'kn': (0, 9)} -{'kolmogi': (0, 2)} -{'kolmogorov': (0, 26)} -{'kv': (0, 9)} -{'kve': (0, 0)} -{'log1p': (0, 3)} -{'log_expit': (0, 5)} -{'log_ndtr': (0, 4)} -{'loggamma': (0, 0)} -{'logit': (0, 12)} -{'lpmv': (0, 0)} -{'mathieu_a': (0, 0)} -{'mathieu_b': (0, 0)} -{'mathieu_cem': (0, 0)} -{'mathieu_modcem1': (0, 0)} -{'mathieu_modcem2': (0, 0)} -{'mathieu_modsem1': (0, 0)} -{'mathieu_modsem2': (0, 0)} -{'mathieu_sem': (0, 0)} -{'modfresnelm': (0, 0)} -{'modfresnelp': (0, 0)} -{'modstruve': (0, 0)} -{'nbdtr': (0, 0)} -{'nbdtrc': (0, 0)} -{'nbdtri': (0, 0)} -{'nbdtrik': (0, 0)} -{'nbdtrin': (0, 0)} -{'ncfdtr': (0, 13)} -{'ncfdtri': (0, 5)} -{'ncfdtridfd': (0, 5)} -{'ncfdtridfn': (0, 5)} -{'ncfdtrinc': (0, 5)} -{'nctdtr': (0, 12)} -{'nctdtridf': (0, 0)} -{'nctdtrinc': (0, 0)} -{'nctdtrit': (0, 0)} -{'ndtr': (0, 0)} -{'ndtri': (0, 0)} -{'ndtri_exp': (0, 7)} -{'nrdtrimn': (0, 0)} -{'nrdtrisd': (0, 0)} -{'obl_ang1': (0, 0)} -{'obl_ang1_cv': (0, 0)} -{'obl_cv': (0, 0)} -{'obl_rad1': (0, 0)} -{'obl_rad1_cv': (0, 0)} -{'obl_rad2': (0, 0)} -{'obl_rad2_cv': (0, 0)} -{'owens_t': (0, 4)} -{'pbdv': (0, 0)} -{'pbvv': (0, 0)} -{'pbwa': (0, 0)} -{'pdtr': (0, 3)} -{'pdtrc': (0, 0)} -{'pdtri': (0, 0)} -{'pdtrik': (0, 0)} -{'poch': (0, 7)} -{'pro_ang1': (0, 0)} -{'pro_ang1_cv': (0, 0)} -{'pro_cv': (0, 0)} -{'pro_rad1': (0, 0)} -{'pro_rad1_cv': (0, 0)} -{'pro_rad2': (0, 0)} -{'pro_rad2_cv': (0, 0)} -{'pseudo_huber': (0, 0)} -{'psi': (0, 4)} -{'radian': (0, 6)} -{'rel_entr': (0, 0)} -{'rgamma': (0, 5)} -{'round': (0, 2)} -{'shichi': (0, 0)} -{'sici': (0, 0)} -{'sindg': (0, 4)} -{'smirnov': (0, 29)} -{'smirnovi': (0, 0)} -{'spence': (0, 0)} -{'sph_harm': (0, 0)} -{'stdtr': (0, 0)} -{'stdtridf': (0, 0)} -{'stdtrit': (0, 0)} -{'struve': (0, 0)} -{'tandg': (0, 4)} -{'tklmbda': (0, 0)} -{'voigt_profile': (0, 0)} -{'wofz': (0, 10)} -{'wright_bessel': (0, 4)} -{'wrightomega': (0, 11)} -{'xlog1py': (0, 0)} -{'xlogy': (0, 0)} -{'y0': (0, 0)} -{'y1': (0, 0)} -{'yn': (0, 0)} -{'yv': (0, 0)} -{'yve': (0, 0)} -{'zetac': (0, 4)} -{'geterr': (0, 2)} -{'seterr': (0, 10)} -{'errstate': (0, 6)} -{'jn': (0, 0)} -{'ai_zeros': (0, 6)} -{'assoc_laguerre': (0, 0)} -{'bei_zeros': (0, 0)} -{'beip_zeros': (0, 0)} -{'ber_zeros': (0, 0)} -{'bernoulli': (0, 4)} -{'berp_zeros': (0, 0)} -{'bi_zeros': (0, 6)} -{'clpmn': (0, 0)} -{'comb': (0, 6)} -{'digamma': (0, 4)} -{'diric': (0, 14)} -{'erf_zeros': (0, 3)} -{'euler': (0, 4)} -{'factorial': (0, 5)} -{'factorial2': (0, 3)} -{'factorialk': (0, 3)} -{'fresnel_zeros': (0, 0)} -{'fresnelc_zeros': (0, 0)} -{'fresnels_zeros': (0, 0)} -{'h1vp': (0, 0)} -{'h2vp': (0, 0)} -{'ivp': (0, 0)} -{'jn_zeros': (0, 6)} -{'jnjnp_zeros': (0, 0)} -{'jnp_zeros': (0, 6)} -{'jnyn_zeros': (0, 0)} -{'jvp': (0, 0)} -{'kei_zeros': (0, 0)} -{'keip_zeros': (0, 0)} -{'kelvin_zeros': (0, 0)} -{'ker_zeros': (0, 0)} -{'kerp_zeros': (0, 0)} -{'kvp': (0, 3)} -{'lmbda': (0, 0)} -{'lpmn': (0, 0)} -{'lpn': (0, 0)} -{'lqmn': (0, 0)} -{'lqn': (0, 0)} -{'mathieu_even_coef': (0, 0)} -{'mathieu_odd_coef': (0, 0)} -{'obl_cv_seq': (0, 0)} -{'pbdn_seq': (0, 0)} -{'pbdv_seq': (0, 0)} -{'pbvv_seq': (0, 0)} -{'perm': (0, 5)} -{'polygamma': (0, 4)} -{'pro_cv_seq': (0, 0)} -{'riccati_jn': (0, 0)} -{'riccati_yn': (0, 0)} -{'y0_zeros': (0, 0)} -{'y1_zeros': (0, 0)} -{'y1p_zeros': (0, 0)} -{'yn_zeros': (0, 5)} -{'ynp_zeros': (0, 5)} -{'yvp': (0, 0)} -{'zeta': (0, 7)} -{'legendre': (0, 2)} -{'chebyt': (0, 25)} -{'chebyu': (0, 24)} -{'chebyc': (0, 0)} -{'chebys': (0, 0)} -{'jacobi': (0, 14)} -{'laguerre': (0, 16)} -{'genlaguerre': (0, 14)} -{'hermite': (0, 13)} -{'hermitenorm': (0, 0)} -{'gegenbauer': (0, 13)} -{'sh_legendre': (0, 0)} -{'sh_chebyt': (0, 0)} -{'sh_chebyu': (0, 0)} -{'sh_jacobi': (0, 0)} -{'roots_legendre': (0, 11)} -{'roots_chebyt': (0, 0)} -{'roots_chebyu': (0, 0)} -{'roots_chebyc': (0, 0)} -{'roots_chebys': (0, 0)} -{'roots_jacobi': (0, 0)} -{'roots_laguerre': (0, 0)} -{'roots_genlaguerre': (0, 0)} -{'roots_hermite': (0, 0)} -{'roots_hermitenorm': (0, 0)} -{'roots_gegenbauer': (0, 0)} -{'roots_sh_legendre': (0, 0)} -{'roots_sh_chebyt': (0, 0)} -{'roots_sh_chebyu': (0, 0)} -{'roots_sh_jacobi': (0, 0)} -{'p_roots': (0, 11)} -{'t_roots': (0, 0)} -{'u_roots': (0, 0)} -{'c_roots': (0, 0)} -{'s_roots': (0, 0)} -{'j_roots': (0, 0)} -{'l_roots': (0, 0)} -{'la_roots': (0, 0)} -{'h_roots': (0, 0)} -{'he_roots': (0, 0)} -{'cg_roots': (0, 0)} -{'ps_roots': (0, 0)} -{'ts_roots': (0, 0)} -{'us_roots': (0, 0)} -{'js_roots': (0, 0)} -{'SpecialFunctionWarning': (0, 0)} -{'SpecialFunctionError': (0, 0)} -{'logsumexp': (0, 12)} -{'softmax': (0, 12)} -{'log_softmax': (0, 8)} -{'multigammaln': (0, 5)} -{'ellip_harm': (0, 11)} -{'ellip_harm_2': (0, 3)} -{'ellip_normal': (0, 3)} -{'lambertw': (0, 10)} -{'spherical_jn': (0, 15)} -{'spherical_yn': (0, 15)} -{'spherical_in': (0, 15)} -{'spherical_kn': (0, 15)} +agm +airy +airye +bdtr +bdtrc +bdtri +bdtrik +bdtrin +bei +beip +ber +berp +besselpoly +beta +betainc +betaincinv +betaln +binom +boxcox +boxcox1p +btdtr +btdtri +btdtria +btdtrib +cbrt +chdtr +chdtrc +chdtri +chdtriv +chndtr +chndtridf +chndtrinc +chndtrix +cosdg +cosm1 +cotdg +dawsn +ellipe +ellipeinc +ellipj +ellipk +ellipkinc +ellipkm1 +elliprc +elliprd +elliprf +elliprg +elliprj +entr +erf +erfc +erfcinv +erfcx +erfi +erfinv +eval_chebyc +eval_chebys +eval_chebyt +eval_chebyu +eval_gegenbauer +eval_genlaguerre +eval_hermite +eval_hermitenorm +eval_jacobi +eval_laguerre +eval_legendre +eval_sh_chebyt +eval_sh_chebyu +eval_sh_jacobi +eval_sh_legendre +exp1 +exp10 +exp2 +expi +expit +expm1 +expn +exprel +fdtr +fdtrc +fdtri +fdtridfd +fresnel +gamma +gammainc +gammaincc +gammainccinv +gammaincinv +gammaln +gammasgn +gdtr +gdtrc +gdtria +gdtrib +gdtrix +hankel1 +hankel1e +hankel2 +hankel2e +huber +hyp0f1 +hyp1f1 +hyp2f1 +hyperu +i0 +i0e +i1 +i1e +inv_boxcox +inv_boxcox1p +it2i0k0 +it2j0y0 +it2struve0 +itairy +iti0k0 +itj0y0 +itmodstruve0 +itstruve0 +iv +ive +j0 +j1 +jv +jve +k0 +k0e +k1 +k1e +kei +keip +kelvin +ker +kerp +kl_div +kn +kolmogi +kolmogorov +kv +kve +log1p +log_expit +log_ndtr +loggamma +logit +lpmv +mathieu_a +mathieu_b +mathieu_cem +mathieu_modcem1 +mathieu_modcem2 +mathieu_modsem1 +mathieu_modsem2 +mathieu_sem +modfresnelm +modfresnelp +modstruve +nbdtr +nbdtrc +nbdtri +nbdtrik +nbdtrin +ncfdtr +ncfdtri +ncfdtridfd +ncfdtridfn +ncfdtrinc +nctdtr +nctdtridf +nctdtrinc +nctdtrit +ndtr +ndtri +ndtri_exp +nrdtrimn +nrdtrisd +obl_ang1 +obl_ang1_cv +obl_cv +obl_rad1 +obl_rad1_cv +obl_rad2 +obl_rad2_cv +owens_t +pbdv +pbvv +pbwa +pdtr +pdtrc +pdtri +pdtrik +poch +pro_ang1 +pro_ang1_cv +pro_cv +pro_rad1 +pro_rad1_cv +pro_rad2 +pro_rad2_cv +pseudo_huber +psi +radian +rel_entr +rgamma +round +shichi +sici +sindg +smirnov +smirnovi +spence +sph_harm +stdtr +stdtridf +stdtrit +struve +tandg +tklmbda +voigt_profile +wofz +wright_bessel +wrightomega +xlog1py +xlogy +y0 +y1 +yn +yv +yve +zetac +geterr +seterr +errstate +jn +ai_zeros +assoc_laguerre +bei_zeros +beip_zeros +ber_zeros +bernoulli +berp_zeros +bi_zeros +clpmn +comb +digamma +diric +erf_zeros +euler +factorial +factorial2 +factorialk +fresnel_zeros +fresnelc_zeros +fresnels_zeros +h1vp +h2vp +ivp +jn_zeros +jnjnp_zeros +jnp_zeros +jnyn_zeros +jvp +kei_zeros +keip_zeros +kelvin_zeros +ker_zeros +kerp_zeros +kvp +lmbda +lpmn +lpn +lqmn +lqn +mathieu_even_coef +mathieu_odd_coef +obl_cv_seq +pbdn_seq +pbdv_seq +pbvv_seq +perm +polygamma +pro_cv_seq +riccati_jn +riccati_yn +y0_zeros +y1_zeros +y1p_zeros +yn_zeros +ynp_zeros +yvp +zeta +legendre +chebyt +chebyu +chebyc +chebys +jacobi +laguerre +genlaguerre +hermite +hermitenorm +gegenbauer +sh_legendre +sh_chebyt +sh_chebyu +sh_jacobi +roots_legendre +roots_chebyt +roots_chebyu +roots_chebyc +roots_chebys +roots_jacobi +roots_laguerre +roots_genlaguerre +roots_hermite +roots_hermitenorm +roots_gegenbauer +roots_sh_legendre +roots_sh_chebyt +roots_sh_chebyu +roots_sh_jacobi +p_roots +t_roots +u_roots +c_roots +s_roots +j_roots +l_roots +la_roots +h_roots +he_roots +cg_roots +ps_roots +ts_roots +us_roots +js_roots +SpecialFunctionWarning +SpecialFunctionError +logsumexp +softmax +log_softmax +multigammaln +ellip_harm +ellip_harm_2 +ellip_normal +lambertw +spherical_jn +spherical_yn +spherical_in +spherical_kn scipy.stats =========== -{'ConstantInputWarning': (0, 0)} -{'DegenerateDataWarning': (0, 0)} -{'FitError': (0, 0)} -{'NearConstantInputWarning': (0, 0)} -{'alexandergovern': (0, 6)} -{'alpha': (0, 15)} -{'anderson': (0, 0)} -{'anderson_ksamp': (0, 4)} -{'anglit': (0, 14)} -{'ansari': (0, 9)} -{'arcsine': (0, 14)} -{'argus': (0, 15)} -{'barnard_exact': (0, 6)} -{'bartlett': (0, 7)} -{'bayes_mvs': (0, 21)} -{'bernoulli': (0, 15)} -{'beta': (0, 15)} -{'betabinom': (0, 15)} -{'betaprime': (0, 15)} -{'binned_statistic': (0, 29)} -{'binned_statistic_2d': (0, 10)} -{'binned_statistic_dd': (0, 24)} -{'binom': (0, 15)} -{'binomtest': (0, 5)} -{'boltzmann': (0, 15)} -{'bootstrap': (0, 40)} -{'boschloo_exact': (0, 4)} -{'boxcox': (0, 13)} -{'boxcox_llf': (0, 18)} -{'boxcox_normmax': (0, 19)} -{'boxcox_normplot': (0, 9)} -{'bradford': (0, 15)} -{'brunnermunzel': (0, 6)} -{'burr': (0, 15)} -{'burr12': (0, 15)} -{'cauchy': (0, 14)} -{'chi': (0, 15)} -{'chi2': (0, 15)} -{'chi2_contingency': (0, 7)} -{'chisquare': (0, 11)} -{'circmean': (0, 4)} -{'circstd': (0, 4)} -{'circvar': (0, 2)} -{'combine_pvalues': (0, 0)} -{'cosine': (0, 14)} -{'cramervonmises': (0, 11)} -{'cramervonmises_2samp': (0, 12)} -{'crystalball': (0, 15)} -{'cumfreq': (0, 20)} -{'describe': (0, 5)} -{'dgamma': (0, 15)} -{'differential_entropy': (0, 19)} -{'dirichlet': (0, 11)} -{'dlaplace': (0, 15)} -{'dweibull': (0, 15)} -{'energy_distance': (0, 4)} -{'entropy': (0, 4)} -{'epps_singleton_2samp': (0, 0)} -{'erlang': (0, 0)} -{'expon': (0, 14)} -{'exponnorm': (0, 15)} -{'exponpow': (0, 15)} -{'exponweib': (0, 15)} -{'f': (0, 15)} -{'f_oneway': (0, 13)} -{'fatiguelife': (0, 15)} -{'find_repeats': (0, 3)} -{'fisher_exact': (0, 19)} -{'fisk': (0, 15)} -{'fit': (0, 25)} -{'fligner': (0, 7)} -{'foldcauchy': (0, 15)} -{'foldnorm': (0, 15)} -{'friedmanchisquare': (0, 0)} -{'gamma': (0, 15)} -{'gausshyper': (0, 15)} -{'gaussian_kde': (0, 19), 'gaussian_kde._compute_covariance': (0, 0), 'gaussian_kde.evaluate': (0, 0), 'gaussian_kde.integrate_box': (0, 0), 'gaussian_kde.integrate_box_1d': (0, 0), 'gaussian_kde.integrate_gaussian': (0, 0), 'gaussian_kde.integrate_kde': (0, 0), 'gaussian_kde.logpdf': (0, 0), 'gaussian_kde.pdf': (0, 0), 'gaussian_kde.resample': (0, 0), 'gaussian_kde.scotts_factor': (0, 0), 'gaussian_kde.set_bandwidth': (0, 17), 'gaussian_kde.silverman_factor': (0, 0)} -{'genexpon': (0, 15)} -{'genextreme': (0, 15)} -{'gengamma': (0, 15)} -{'genhalflogistic': (0, 15)} -{'genhyperbolic': (0, 15)} -{'geninvgauss': (0, 15)} -{'genlogistic': (0, 15)} -{'gennorm': (0, 15)} -{'genpareto': (0, 15)} -{'geom': (0, 15)} -{'gibrat': (0, 14)} -{'gmean': (0, 4)} -{'gompertz': (0, 15)} -{'gstd': (0, 12)} -{'gumbel_l': (0, 14)} -{'gumbel_r': (0, 14)} -{'gzscore': (0, 14)} -{'halfcauchy': (0, 14)} -{'halfgennorm': (0, 15)} -{'halflogistic': (0, 14)} -{'halfnorm': (0, 14)} -{'hmean': (0, 4)} -{'hypergeom': (0, 15)} -{'hypsecant': (0, 14)} -{'invgamma': (0, 15)} -{'invgauss': (0, 15)} -{'invweibull': (0, 15)} -{'invwishart': (0, 10)} -{'iqr': (0, 7)} -{'jarque_bera': (0, 7)} -{'johnsonsb': (0, 15)} -{'johnsonsu': (0, 15)} -{'kappa3': (0, 15)} -{'kappa4': (0, 15)} -{'kendalltau': (0, 6)} -{'kruskal': (0, 8)} -{'ks_1samp': (0, 7)} -{'ks_2samp': (0, 10)} -{'ksone': (0, 15)} -{'kstat': (0, 4)} -{'kstatvar': (0, 0)} -{'kstest': (0, 11)} -{'kstwo': (0, 15)} -{'kurtosis': (0, 10)} -{'kurtosistest': (0, 7)} -{'laplace': (0, 14)} -{'laplace_asymmetric': (0, 15)} -{'levene': (0, 7)} -{'levy': (0, 14)} -{'levy_l': (0, 14)} -{'linregress': (0, 16)} -{'loggamma': (0, 15)} -{'logistic': (0, 14)} -{'loglaplace': (0, 15)} -{'lognorm': (0, 15)} -{'logser': (0, 15)} -{'loguniform': (0, 31)} -{'lomax': (0, 15)} -{'mannwhitneyu': (0, 25)} -{'matrix_normal': (0, 12)} -{'maxwell': (0, 14)} -{'median_abs_deviation': (0, 14)} -{'median_test': (0, 13)} -{'mielke': (0, 15)} -{'mode': (0, 4)} -{'moment': (0, 3)} -{'monte_carlo_test': (0, 21)} -{'mood': (0, 10)} -{'moyal': (0, 14)} -{'multinomial': (0, 11)} -{'multiscale_graphcorr': (0, 15)} -{'multivariate_hypergeom': (0, 9)} -{'multivariate_normal': (0, 15)} -{'multivariate_t': (0, 8)} -{'mvsdist': (0, 6)} -{'nakagami': (0, 15)} -{'nbinom': (0, 15)} -{'ncf': (0, 15)} -{'nchypergeom_fisher': (0, 15)} -{'nchypergeom_wallenius': (0, 15)} -{'nct': (0, 15)} -{'ncx2': (0, 15)} -{'nhypergeom': (0, 20)} -{'norm': (0, 14)} -{'normaltest': (0, 10)} -{'norminvgauss': (0, 15)} -{'obrientransform': (0, 7)} -{'ortho_group': (0, 6)} -{'page_trend_test': (0, 25)} -{'pareto': (0, 15)} -{'pearson3': (0, 15)} -{'pearsonr': (0, 15)} -{'percentileofscore': (0, 9)} -{'permutation_test': (0, 39)} -{'planck': (0, 15)} -{'pmean': (0, 8)} -{'pointbiserialr': (0, 6)} -{'poisson': (0, 15)} -{'power_divergence': (0, 11)} -{'powerlaw': (0, 15)} -{'powerlognorm': (0, 15)} -{'powernorm': (0, 15)} -{'ppcc_max': (0, 10)} -{'ppcc_plot': (0, 18)} -{'probplot': (0, 22)} -{'randint': (0, 15)} -{'random_correlation': (0, 7)} -{'rankdata': (0, 8)} -{'ranksums': (0, 7)} -{'rayleigh': (0, 14)} -{'rdist': (0, 15)} -{'recipinvgauss': (0, 15)} -{'reciprocal': (0, 31)} -{'relfreq': (0, 17)} -{'rice': (0, 15)} -{'rv_continuous': (0, 3), 'rv_continuous._attach_methods': (0, 0), 'rv_continuous._fit_loc_scale_support': (0, 0), 'rv_continuous._fitstart': (0, 0), 'rv_continuous._reduce_func': (0, 0), 'rv_continuous._updated_ctor_param': (0, 0), 'rv_continuous.cdf': (0, 0), 'rv_continuous.expect': (0, 4), 'rv_continuous.fit': (0, 12), 'rv_continuous.fit_loc_scale': (0, 0), 'rv_continuous.isf': (0, 0), 'rv_continuous.logcdf': (0, 0), 'rv_continuous.logpdf': (0, 0), 'rv_continuous.logsf': (0, 0), 'rv_continuous.pdf': (0, 0), 'rv_continuous.ppf': (0, 0), 'rv_continuous.sf': (0, 0)} -{'rv_discrete': (0, 13), 'rv_discrete._attach_methods': (0, 0), 'rv_discrete._updated_ctor_param': (0, 0), 'rv_discrete.cdf': (0, 0), 'rv_discrete.expect': (0, 0), 'rv_discrete.isf': (0, 0), 'rv_discrete.logcdf': (0, 0), 'rv_discrete.logpmf': (0, 0), 'rv_discrete.logsf': (0, 0), 'rv_discrete.pmf': (0, 0), 'rv_discrete.ppf': (0, 0), 'rv_discrete.rvs': (0, 0), 'rv_discrete.sf': (0, 0)} -{'rv_histogram': (0, 18), 'rv_histogram.__init__': (0, 0), 'rv_histogram._cdf': (0, 0), 'rv_histogram._entropy': (0, 0), 'rv_histogram._munp': (0, 0), 'rv_histogram._pdf': (0, 0), 'rv_histogram._ppf': (0, 0), 'rv_histogram._updated_ctor_param': (0, 0)} -{'rvs_ratio_uniforms': (0, 9)} -{'scoreatpercentile': (0, 3)} -{'sem': (0, 4)} -{'semicircular': (0, 14)} -{'shapiro': (0, 7)} -{'siegelslopes': (0, 14)} -{'sigmaclip': (0, 11)} -{'skellam': (0, 15)} -{'skew': (0, 3)} -{'skewcauchy': (0, 15)} -{'skewnorm': (0, 15)} -{'skewtest': (0, 7)} -{'somersd': (0, 5)} -{'spearmanr': (0, 17)} -{'special_ortho_group': (0, 6)} -{'studentized_range': (0, 22)} -{'t': (0, 15)} -{'theilslopes': (0, 16)} -{'tiecorrect': (0, 5)} -{'tmax': (0, 5)} -{'tmean': (0, 4)} -{'tmin': (0, 5)} -{'trapezoid': (0, 15)} -{'trapz': (0, 0)} -{'triang': (0, 15)} -{'trim1': (0, 10)} -{'trim_mean': (0, 7)} -{'trimboth': (0, 10)} -{'truncexpon': (0, 15)} -{'truncnorm': (0, 15)} -{'truncweibull_min': (0, 15)} -{'tsem': (0, 4)} -{'tstd': (0, 4)} -{'ttest_1samp': (0, 10)} -{'ttest_ind': (0, 19)} -{'ttest_ind_from_stats': (0, 10)} -{'ttest_rel': (0, 7)} -{'tukey_hsd': (0, 16)} -{'tukeylambda': (0, 15)} -{'tvar': (0, 4)} -{'uniform': (0, 14)} -{'unitary_group': (0, 4)} -{'variation': (0, 4)} -{'vonmises': (0, 15)} -{'vonmises_line': (0, 15)} -{'wald': (0, 14)} -{'wasserstein_distance': (0, 4)} -{'weibull_max': (0, 15)} -{'weibull_min': (0, 15)} -{'weightedtau': (0, 20)} -{'wilcoxon': (0, 8)} -{'wishart': (0, 8)} -{'wrapcauchy': (0, 15)} -{'yeojohnson': (0, 13)} -{'yeojohnson_llf': (0, 17)} -{'yeojohnson_normmax': (0, 10)} -{'yeojohnson_normplot': (0, 9)} -{'yulesimon': (0, 15)} -{'zipf': (0, 18)} -{'zipfian': (0, 18)} -{'zmap': (0, 4)} -{'zscore': (0, 7)} +ConstantInputWarning +DegenerateDataWarning +FitError +NearConstantInputWarning +alexandergovern +alpha +anderson +anderson_ksamp +anglit +ansari +arcsine +argus +barnard_exact +bartlett +bayes_mvs +bernoulli +beta +betabinom +betaprime +binned_statistic +binned_statistic_2d +binned_statistic_dd +binom +binomtest +boltzmann +bootstrap +boschloo_exact +boxcox +boxcox_llf +boxcox_normmax +boxcox_normplot +bradford +brunnermunzel +burr +burr12 +cauchy +chi +chi2 +chi2_contingency +chisquare +circmean +circstd +circvar +combine_pvalues +cosine +cramervonmises +cramervonmises_2samp +crystalball +cumfreq +describe +dgamma +differential_entropy +dirichlet +dlaplace +dweibull +energy_distance +entropy +epps_singleton_2samp +erlang +expon +exponnorm +exponpow +exponweib +f +f_oneway +fatiguelife +find_repeats +fisher_exact +fisk +fit +fligner +foldcauchy +foldnorm +friedmanchisquare +gamma +gausshyper +gaussian_kde +gaussian_kde._compute_covariance +gaussian_kde.evaluate +gaussian_kde.integrate_box +gaussian_kde.integrate_box_1d +gaussian_kde.integrate_gaussian +gaussian_kde.integrate_kde +gaussian_kde.logpdf +gaussian_kde.pdf +gaussian_kde.resample +gaussian_kde.scotts_factor +gaussian_kde.set_bandwidth +gaussian_kde.silverman_factor +genexpon +genextreme +gengamma +genhalflogistic +genhyperbolic +geninvgauss +genlogistic +gennorm +genpareto +geom +gibrat +gmean +gompertz +gstd +gumbel_l +gumbel_r +gzscore +halfcauchy +halfgennorm +halflogistic +halfnorm +hmean +hypergeom +hypsecant +invgamma +invgauss +invweibull +invwishart +iqr +jarque_bera +johnsonsb +johnsonsu +kappa3 +kappa4 +kendalltau +kruskal +ks_1samp +ks_2samp +ksone +kstat +kstatvar +kstest +kstwo +kurtosis +kurtosistest +laplace +laplace_asymmetric +levene +levy +levy_l +linregress +loggamma +logistic +loglaplace +lognorm +logser +loguniform +lomax +mannwhitneyu +matrix_normal +maxwell +median_abs_deviation +median_test +mielke +mode +moment +monte_carlo_test +mood +moyal +multinomial +multiscale_graphcorr +multivariate_hypergeom +multivariate_normal +multivariate_t +mvsdist +nakagami +nbinom +ncf +nchypergeom_fisher +nchypergeom_wallenius +nct +ncx2 +nhypergeom +norm +normaltest +norminvgauss +obrientransform +ortho_group +page_trend_test +pareto +pearson3 +pearsonr +percentileofscore +permutation_test +planck +pmean +pointbiserialr +poisson +power_divergence +powerlaw +powerlognorm +powernorm +ppcc_max +ppcc_plot +probplot +randint +random_correlation +rankdata +ranksums +rayleigh +rdist +recipinvgauss +reciprocal +relfreq +rice +rv_continuous +rv_continuous._attach_methods +rv_continuous._fit_loc_scale_support +rv_continuous._fitstart +rv_continuous._reduce_func +rv_continuous._updated_ctor_param +rv_continuous.cdf +rv_continuous.expect +rv_continuous.fit +rv_continuous.fit_loc_scale +rv_continuous.isf +rv_continuous.logcdf +rv_continuous.logpdf +rv_continuous.logsf +rv_continuous.pdf +rv_continuous.ppf +rv_continuous.sf +rv_discrete +rv_discrete._attach_methods +rv_discrete._updated_ctor_param +rv_discrete.cdf +rv_discrete.expect +rv_discrete.isf +rv_discrete.logcdf +rv_discrete.logpmf +rv_discrete.logsf +rv_discrete.pmf +rv_discrete.ppf +rv_discrete.rvs +rv_discrete.sf +rv_histogram +rv_histogram.__init__ +rv_histogram._cdf +rv_histogram._entropy +rv_histogram._munp +rv_histogram._pdf +rv_histogram._ppf +rv_histogram._updated_ctor_param +rvs_ratio_uniforms +scoreatpercentile +sem +semicircular +shapiro +siegelslopes +sigmaclip +skellam +skew +skewcauchy +skewnorm +skewtest +somersd +spearmanr +special_ortho_group +studentized_range +t +theilslopes +tiecorrect +tmax +tmean +tmin +trapezoid +trapz +triang +trim1 +trim_mean +trimboth +truncexpon +truncnorm +truncweibull_min +tsem +tstd +ttest_1samp +ttest_ind +ttest_ind_from_stats +ttest_rel +tukey_hsd +tukeylambda +tvar +uniform +unitary_group +variation +vonmises +vonmises_line +wald +wasserstein_distance +weibull_max +weibull_min +weightedtau +wilcoxon +wishart +wrapcauchy +yeojohnson +yeojohnson_llf +yeojohnson_normmax +yeojohnson_normplot +yulesimon +zipf +zipfian +zmap +zscore scipy.stats.mstats ================== -{'argstoarray': (0, 3)} -{'brunnermunzel': (0, 0)} -{'chisquare': (0, 11)} -{'compare_medians_ms': (0, 9)} -{'count_tied_groups': (0, 7)} -{'describe': (0, 3)} -{'f_oneway': (0, 0)} -{'find_repeats': (0, 0)} -{'friedmanchisquare': (0, 0)} -{'gmean': (0, 4)} -{'hdmedian': (0, 0)} -{'hdquantiles': (0, 0)} -{'hdquantiles_sd': (0, 0)} -{'hmean': (0, 4)} -{'idealfourths': (0, 0)} -{'kendalltau': (0, 0)} -{'kendalltau_seasonal': (0, 0)} -{'kruskal': (0, 5)} -{'kruskalwallis': (0, 5)} -{'ks_1samp': (0, 0)} -{'ks_2samp': (0, 0)} -{'ks_twosamp': (0, 0)} -{'kstest': (0, 0)} -{'kurtosis': (0, 0)} -{'kurtosistest': (0, 0)} -{'linregress': (0, 0)} -{'mannwhitneyu': (0, 0)} -{'median_cihs': (0, 0)} -{'meppf': (0, 0)} -{'mjci': (0, 0)} -{'mode': (0, 5)} -{'moment': (0, 0)} -{'mquantiles': (0, 7)} -{'mquantiles_cimj': (0, 0)} -{'msign': (0, 0)} -{'normaltest': (0, 0)} -{'obrientransform': (0, 0)} -{'pearsonr': (0, 13)} -{'plotting_positions': (0, 0)} -{'pointbiserialr': (0, 0)} -{'rankdata': (0, 0)} -{'rsh': (0, 0)} -{'scoreatpercentile': (0, 0)} -{'sem': (0, 4)} -{} -{'siegelslopes': (0, 0)} -{'skew': (0, 0)} -{'skewtest': (0, 0)} -{'spearmanr': (0, 0)} -{'theilslopes': (0, 0)} -{'tmax': (0, 3)} -{'tmean': (0, 4)} -{'tmin': (0, 3)} -{'trim': (0, 4)} -{'trima': (0, 3)} -{'trimboth': (0, 0)} -{'trimmed_mean': (0, 0)} -{'trimmed_mean_ci': (0, 0)} -{'trimmed_std': (0, 0)} -{'trimmed_stde': (0, 0)} -{'trimmed_var': (0, 0)} -{'trimr': (0, 0)} -{'trimtail': (0, 0)} -{'tsem': (0, 0)} -{'ttest_1samp': (0, 0)} -{'ttest_ind': (0, 0)} -{'ttest_onesamp': (0, 0)} -{'ttest_rel': (0, 0)} -{'tvar': (0, 0)} -{'variation': (0, 6)} -{'winsorize': (0, 3)} -{'zmap': (0, 4)} -{'zscore': (0, 7)} +argstoarray +brunnermunzel +chisquare +compare_medians_ms +count_tied_groups +describe +f_oneway +find_repeats +friedmanchisquare +gmean +hdmedian +hdquantiles +hdquantiles_sd +hmean +idealfourths +kendalltau +kendalltau_seasonal +kruskal +kruskalwallis +ks_1samp +ks_2samp +ks_twosamp +kstest +kurtosis +kurtosistest +linregress +mannwhitneyu +median_cihs +meppf +mjci +mode +moment +mquantiles +mquantiles_cimj +msign +normaltest +obrientransform +pearsonr +plotting_positions +pointbiserialr +rankdata +rsh +scoreatpercentile +sem +siegelslopes +skew +skewtest +spearmanr +theilslopes +tmax +tmean +tmin +trim +trima +trimboth +trimmed_mean +trimmed_mean_ci +trimmed_std +trimmed_stde +trimmed_var +trimr +trimtail +tsem +ttest_1samp +ttest_ind +ttest_onesamp +ttest_rel +tvar +variation +winsorize +zmap +zscore scipy.stats.contingency ======================= -{'margins': (0, 11)} -{'expected_freq': (0, 3)} -{'chi2_contingency': (0, 7)} -{'crosstab': (0, 25)} -{'association': (0, 5)} -{'relative_risk': (0, 4)} +margins +expected_freq +chi2_contingency +crosstab +association +relative_risk scipy.stats.qmc =============== -{'Halton': (0, 11), 'Halton.random': (0, 0)} -{'LatinHypercube': (0, 14), 'LatinHypercube._random': (0, 0), 'LatinHypercube._random_cd': (0, 0), 'LatinHypercube._random_oa_lhs': (0, 0), 'LatinHypercube.random': (0, 0)} -{'MultinomialQMC': (0, 3), 'MultinomialQMC.random': (0, 0)} -{'MultivariateNormalQMC': (0, 6), 'MultivariateNormalQMC._standard_normal_samples': (0, 0), 'MultivariateNormalQMC.random': (0, 0)} -{'PoissonDisk': (0, 14), 'PoissonDisk._hypersphere_surface_sample': (0, 0), 'PoissonDisk._hypersphere_volume_sample': (0, 0), 'PoissonDisk._initialize_grid_pool': (0, 0), 'PoissonDisk.fill_space': (0, 0), 'PoissonDisk.random': (0, 0), 'PoissonDisk.reset': (0, 0)} -{'QMCEngine': (0, 6), 'QMCEngine.fast_forward': (0, 0), 'QMCEngine.integers': (0, 0), 'QMCEngine.random': (0, 0), 'QMCEngine.reset': (0, 0)} -{'Sobol': (0, 12), 'Sobol._scramble': (0, 0), 'Sobol.fast_forward': (0, 0), 'Sobol.random': (0, 0), 'Sobol.random_base2': (0, 0), 'Sobol.reset': (0, 0)} -{'discrepancy': (0, 10)} -{'scale': (0, 8)} -{'update_discrepancy': (0, 8)} +Halton +Halton.random +LatinHypercube +LatinHypercube._random +LatinHypercube._random_cd +LatinHypercube._random_oa_lhs +LatinHypercube.random +MultinomialQMC +MultinomialQMC.random +MultivariateNormalQMC +MultivariateNormalQMC._standard_normal_samples +MultivariateNormalQMC.random +PoissonDisk +PoissonDisk._hypersphere_surface_sample +PoissonDisk._hypersphere_volume_sample +PoissonDisk._initialize_grid_pool +PoissonDisk.fill_space +PoissonDisk.random +PoissonDisk.reset +QMCEngine +QMCEngine.fast_forward +QMCEngine.integers +QMCEngine.random +QMCEngine.reset +Sobol +Sobol._scramble +Sobol.fast_forward +Sobol.random +Sobol.random_base2 +Sobol.reset +discrepancy +scale +update_discrepancy scipy.stats.sampling ==================== -{'DiscreteAliasUrn': (0, 39)} -{'DiscreteGuideTable': (0, 43)} -{'NumericalInverseHermite': (0, 57)} -{'NumericalInversePolynomial': (0, 39)} -{'SimpleRatioUniforms': (0, 20)} -{'TransformedDensityRejection': (0, 19)} -{'UNURANError': (0, 0)} +DiscreteAliasUrn +DiscreteGuideTable +NumericalInverseHermite +NumericalInversePolynomial +SimpleRatioUniforms +TransformedDensityRejection +UNURANError diff --git a/tools/doctest.log b/tools/doctest.log new file mode 100644 index 000000000000..2b078b2dc632 --- /dev/null +++ b/tools/doctest.log @@ -0,0 +1,2244 @@ +scipy.cluster +============= +scipy.cluster.hierarchy +======================= +ClusterNode +ClusterNode.get_count +ClusterNode.get_id +ClusterNode.get_left +ClusterNode.get_right +ClusterNode.is_leaf +ClusterNode.pre_order +DisjointSet +DisjointSet.__getitem__ +DisjointSet.__iter__ +DisjointSet.add +DisjointSet.connected +DisjointSet.merge +DisjointSet.subset +DisjointSet.subsets +average +centroid +complete +cophenet +correspond +cut_tree +dendrogram +fcluster +fclusterdata +from_mlab_linkage +inconsistent +is_isomorphic +is_monotonic +is_valid_im +is_valid_linkage +leaders +leaves_list +linkage +maxRstat +maxdists +maxinconsts +median +num_obs_linkage +optimal_leaf_ordering +set_link_color_palette +single +to_mlab_linkage +to_tree +ward +weighted +scipy.cluster.vq +================ +whiten +vq +kmeans +kmeans2 +scipy.constants +=============== +Avogadro +Boltzmann +Btu +Btu_IT +Btu_th +ConstantWarning +G +Julian_year +N_A +Planck +R +Rydberg +Stefan_Boltzmann +Wien +acre +alpha +angstrom +arcmin +arcminute +arcsec +arcsecond +astronomical_unit +atm +atmosphere +atomic_mass +atto +au +bar +barrel +bbl +blob +c +calorie +calorie_IT +calorie_th +carat +centi +convert_temperature +day +deci +degree +degree_Fahrenheit +deka +dyn +dyne +e +eV +electron_mass +electron_volt +elementary_charge +epsilon_0 +erg +exa +exbi +femto +fermi +find +fine_structure +fluid_ounce +fluid_ounce_US +fluid_ounce_imp +foot +g +gallon +gallon_US +gallon_imp +gas_constant +gibi +giga +golden +golden_ratio +grain +gram +gravitational_constant +h +hbar +hectare +hecto +horsepower +hour +hp +inch +k +kgf +kibi +kilo +kilogram_force +kmh +knot +lambda2nu +lb +lbf +light_year +liter +litre +long_ton +m_e +m_n +m_p +m_u +mach +mebi +mega +metric_ton +micro +micron +mil +mile +milli +minute +mmHg +mph +mu_0 +nano +nautical_mile +neutron_mass +nu2lambda +ounce +oz +parsec +pebi +peta +physical_constants +pi +pico +point +pound +pound_force +precision +proton_mass +psi +pt +short_ton +sigma +slinch +slug +speed_of_light +speed_of_sound +stone +survey_foot +survey_mile +tebi +tera +ton_TNT +torr +troy_ounce +troy_pound +u +unit +value +week +yard +year +yobi +yocto +yotta +zebi +zepto +zero_Celsius +zetta +scipy.fft +========= +fft +ifft +fft2 +ifft2 +fftn +ifftn +rfft +irfft +rfft2 +irfft2 +rfftn +irfftn +hfft +ihfft +hfft2 +ihfft2 +hfftn +ihfftn +fftfreq +rfftfreq +fftshift +ifftshift +next_fast_len +dct +idct +dst +idst +dctn +idctn +dstn +idstn +fht +ifht +fhtoffset +set_backend +skip_backend +set_global_backend +register_backend +get_workers +set_workers +scipy.fftpack +============= +fft +ifft +fftn +ifftn +rfft +irfft +fft2 +ifft2 +diff +tilbert +itilbert +hilbert +ihilbert +sc_diff +cs_diff +cc_diff +ss_diff +shift +fftfreq +rfftfreq +fftshift +ifftshift +next_fast_len +dct +idct +dst +idst +dctn +idctn +dstn +idstn +scipy.fftpack.convolve +====================== +convolve +convolve_z +init_convolution_kernel +scipy.integrate +=============== +BDF +DOP853 +DenseOutput +DenseOutput.__call__ +IntegrationWarning +LSODA +OdeSolution +OdeSolution.__call__ +OdeSolver +OdeSolver.dense_output +OdeSolver.step +RK23 +RK45 +Radau +complex_ode +complex_ode.integrate +complex_ode.set_initial_value +complex_ode.set_integrator +complex_ode.set_solout +cumtrapz +cumulative_trapezoid +dblquad +fixed_quad +newton_cotes +nquad +ode +ode.get_return_code +ode.integrate +ode.set_f_params +ode.set_initial_value +ode.set_integrator +ode.set_jac_params +ode.set_solout +ode.successful +odeint +quad +quad_vec +quadrature +romb +romberg +simps +simpson +solve_bvp +solve_ivp +tplquad +trapezoid +trapz +scipy.interpolate +================= +Akima1DInterpolator +BPoly +BPoly._construct_from_derivatives +BPoly._raise_degree +BPoly.antiderivative +BPoly.derivative +BPoly.extend +BPoly.from_derivatives +BPoly.from_power_basis +BPoly.integrate +BSpline +BSpline.__call__ +BSpline._ensure_c_contiguous +BSpline.antiderivative +BSpline.basis_element +BSpline.construct_fast +BSpline.derivative +BSpline.design_matrix +BSpline.from_power_basis +BSpline.integrate +BSpline.tck +BarycentricInterpolator +BarycentricInterpolator.__call__ +BarycentricInterpolator.add_xi +BarycentricInterpolator.set_yi +BivariateSpline +BivariateSpline.ev +BivariateSpline.integral +CloughTocher2DInterpolator +CubicHermiteSpline +CubicSpline +CubicSpline._validate_bc +InterpolatedUnivariateSpline +KroghInterpolator +LSQBivariateSpline +LSQSphereBivariateSpline +LSQUnivariateSpline +LinearNDInterpolator +NdPPoly +NdPPoly.__call__ +NdPPoly._antiderivative_inplace +NdPPoly._derivative_inplace +NdPPoly.antiderivative +NdPPoly.construct_fast +NdPPoly.derivative +NdPPoly.integrate +NdPPoly.integrate_1d +NearestNDInterpolator +NearestNDInterpolator.__call__ +PPoly +PPoly.antiderivative +PPoly.derivative +PPoly.from_bernstein_basis +PPoly.from_spline +PPoly.integrate +PPoly.roots +PPoly.solve +PchipInterpolator +RBFInterpolator +RBFInterpolator.__call__ +RBFInterpolator._chunk_evaluator +Rbf +RectBivariateSpline +RectSphereBivariateSpline +RegularGridInterpolator +RegularGridInterpolator.__call__ +SmoothBivariateSpline +SmoothSphereBivariateSpline +UnivariateSpline +UnivariateSpline.__call__ +UnivariateSpline._from_tck +UnivariateSpline.antiderivative +UnivariateSpline.derivative +UnivariateSpline.derivatives +UnivariateSpline.get_coeffs +UnivariateSpline.get_knots +UnivariateSpline.get_residual +UnivariateSpline.integral +UnivariateSpline.roots +UnivariateSpline.set_smoothing_factor +approximate_taylor_polynomial +barycentric_interpolate +bisplev +bisplrep +griddata +insert +interp1d +interp1d.__init__ +interp1d._call_nearest +interp1d._call_previousnext +interp1d._check_bounds +interp1d.fill_value +interp2d +interp2d.__call__ +interpn +krogh_interpolate +lagrange +make_interp_spline +make_lsq_spline +pade +pchip_interpolate +spalde +splantider +splder +splev +splint +splprep +splrep +sproot +scipy.io +======== +FortranEOFError +FortranFile +FortranFile.close +FortranFile.read_ints +FortranFile.read_reals +FortranFile.read_record +FortranFile.write_record +FortranFormattingError +hb_read +hb_write +loadmat +mminfo +mmread +mmwrite +netcdf_file +netcdf_file.__init__ +netcdf_file.close +netcdf_file.createDimension +netcdf_file.createVariable +netcdf_file.flush +netcdf_variable +netcdf_variable._apply_missing_value +netcdf_variable._default_encoded_fill_value +netcdf_variable._get_encoded_fill_value +netcdf_variable._get_missing_value +netcdf_variable.assignValue +netcdf_variable.getValue +netcdf_variable.isrec +netcdf_variable.itemsize +netcdf_variable.shape +netcdf_variable.typecode +readsav +savemat +whosmat +scipy.io.arff +============= +MetaData +MetaData.names +MetaData.types +loadarff +scipy.io.matlab +=============== +loadmat +savemat +whosmat +MatlabObject +matfile_version +MatReadError +MatReadWarning +MatWriteError +mat_struct +MatlabOpaque +MatlabFunction +scipy.io.wavfile +================ +read +write +scipy.linalg +============ +LinAlgError +LinAlgWarning +bandwidth +block_diag +cdf2rdf +cho_factor +cho_solve +cho_solve_banded +cholesky +cholesky_banded +circulant +clarkson_woodruff_transform +companion +convolution_matrix +coshm +cosm +cossin +det +dft +diagsvd +eig +eig_banded +eigh +eigh_tridiagonal +eigvals +eigvals_banded +eigvalsh +eigvalsh_tridiagonal +expm +expm_cond +expm_frechet +fiedler +fiedler_companion +find_best_blas_type +fractional_matrix_power +funm +get_blas_funcs +get_lapack_funcs +hadamard +hankel +helmert +hessenberg +hilbert +inv +invhilbert +invpascal +ishermitian +issymmetric +khatri_rao +kron +ldl +leslie +logm +lstsq +lu +lu_factor +lu_solve +matmul_toeplitz +matrix_balance +norm +null_space +ordqz +orth +orthogonal_procrustes +pascal +pinv +pinvh +polar +qr +qr_delete +qr_insert +qr_multiply +qr_update +qz +rq +rsf2csf +schur +signm +sinhm +sinm +solve +solve_banded +solve_circulant +solve_continuous_are +solve_continuous_lyapunov +solve_discrete_are +solve_discrete_lyapunov +solve_lyapunov +solve_sylvester +solve_toeplitz +solve_triangular +solveh_banded +sqrtm +subspace_angles +svd +svdvals +tanhm +tanm +toeplitz +tri +tril +triu +scipy.linalg.blas +================= +get_blas_funcs +find_best_blas_type +scipy.linalg.lapack +=================== +get_lapack_funcs +scipy.linalg.interpolative +========================== +estimate_rank +estimate_spectral_norm +estimate_spectral_norm_diff +id_to_svd +interp_decomp +rand +reconstruct_interp_matrix +reconstruct_matrix_from_id +reconstruct_skel_matrix +seed +svd +scipy.misc +========== +central_diff_weights +derivative +ascent +face +electrocardiogram +scipy.ndimage +============= +affine_transform +binary_closing +binary_dilation +binary_erosion +binary_fill_holes +binary_hit_or_miss +binary_opening +binary_propagation +black_tophat +center_of_mass +convolve +convolve1d +correlate +correlate1d +distance_transform_bf +distance_transform_cdt +distance_transform_edt +extrema +find_objects +fourier_ellipsoid +fourier_gaussian +fourier_shift +fourier_uniform +gaussian_filter +gaussian_filter1d +gaussian_gradient_magnitude +gaussian_laplace +generate_binary_structure +generic_filter +generic_filter1d +generic_gradient_magnitude +generic_laplace +geometric_transform +grey_closing +grey_dilation +grey_erosion +grey_opening +histogram +iterate_structure +label +labeled_comprehension +laplace +map_coordinates +maximum +maximum_filter +maximum_filter1d +maximum_position +mean +median +median_filter +minimum +minimum_filter +minimum_filter1d +minimum_position +morphological_gradient +morphological_laplace +percentile_filter +prewitt +rank_filter +rotate +shift +sobel +spline_filter +spline_filter1d +standard_deviation +sum +sum_labels +uniform_filter +uniform_filter1d +variance +watershed_ift +white_tophat +zoom +scipy.odr +========= +Data +Data.__getattr__ +Data.set_meta +Model +Model.__getattr__ +Model.set_meta +ODR +ODR._check +ODR._gen_work +ODR.restart +ODR.run +ODR.set_iprint +ODR.set_job +OdrError +OdrStop +OdrWarning +Output +Output.pprint +RealData +RealData._cov2wt +RealData._sd2wt +exponential +multilinear +odr +polynomial +quadratic +unilinear +scipy.optimize +============== +BFGS +BFGS._update_hessian +BFGS._update_inverse_hessian +Bounds +Bounds.residual +HessianUpdateStrategy +HessianUpdateStrategy.dot +HessianUpdateStrategy.get_matrix +HessianUpdateStrategy.initialize +HessianUpdateStrategy.update +LbfgsInvHessProduct +LbfgsInvHessProduct.__init__ +LbfgsInvHessProduct._matvec +LbfgsInvHessProduct.todense +LinearConstraint +LinearConstraint.residual +NonlinearConstraint +OptimizeResult +RootResults +SR1 +anderson +approx_fprime +basinhopping +bisect +bracket +brent +brenth +brentq +broyden1 +broyden2 +brute +check_grad +curve_fit +diagbroyden +differential_evolution +direct +dual_annealing +excitingmixing +fixed_point +fmin +fmin_bfgs +fmin_cg +fmin_cobyla +fmin_l_bfgs_b +fmin_ncg +fmin_powell +fmin_slsqp +fmin_tnc +fminbound +fsolve +golden +least_squares +leastsq +line_search +linear_sum_assignment +linearmixing +linprog +linprog_verbose_callback +lsq_linear +milp +minimize +minimize_scalar +newton +newton_krylov +nnls +quadratic_assignment +ridder +root +root_scalar +rosen +rosen_der +rosen_hess +rosen_hess_prod +shgo +toms748 +scipy.signal +============ +BadCoefficients +CZT +CZT.__call__ +CZT.points +StateSpace +StateSpace.A +StateSpace.B +StateSpace.C +StateSpace.D +StateSpace.__add__ +StateSpace.__init__ +StateSpace.__mul__ +StateSpace.__neg__ +StateSpace.__new__ +StateSpace.__repr__ +StateSpace.__rmul__ +StateSpace.__truediv__ +StateSpace._copy +StateSpace.to_ss +StateSpace.to_tf +StateSpace.to_zpk +TransferFunction +TransferFunction.__init__ +TransferFunction.__new__ +TransferFunction.__repr__ +TransferFunction._copy +TransferFunction._z_to_zinv +TransferFunction._zinv_to_z +TransferFunction.den +TransferFunction.num +TransferFunction.to_ss +TransferFunction.to_tf +TransferFunction.to_zpk +ZerosPolesGain +ZerosPolesGain.__init__ +ZerosPolesGain.__new__ +ZerosPolesGain.__repr__ +ZerosPolesGain._copy +ZerosPolesGain.gain +ZerosPolesGain.poles +ZerosPolesGain.to_ss +ZerosPolesGain.to_tf +ZerosPolesGain.to_zpk +ZerosPolesGain.zeros +ZoomFFT +abcd_normalize +argrelextrema +argrelmax +argrelmin +band_stop_obj +barthann +bartlett +bessel +besselap +bilinear +bilinear_zpk +blackman +blackmanharris +bode +bohman +boxcar +bspline +buttap +butter +buttord +cascade +cheb1ap +cheb1ord +cheb2ap +cheb2ord +chebwin +cheby1 +cheby2 +check_COLA +check_NOLA +chirp +choose_conv_method +cmplx_sort +coherence +cont2discrete +convolve +convolve2d +correlate +correlate2d +correlation_lags +cosine +csd +cspline1d +cspline1d_eval +cspline2d +cubic +cwt +czt +czt_points +daub +dbode +decimate +deconvolve +detrend +dfreqresp +dimpulse +dlsim +dlti +dlti.__init__ +dlti.__new__ +dlti.bode +dlti.dt +dlti.freqresp +dlti.impulse +dlti.output +dlti.step +dstep +ellip +ellipap +ellipord +exponential +fftconvolve +filtfilt +find_peaks +find_peaks_cwt +findfreqs +firls +firwin +firwin2 +flattop +freqresp +freqs +freqs_zpk +freqz +freqz_zpk +gammatone +gauss_spline +gaussian +gausspulse +general_gaussian +get_window +group_delay +hamming +hann +hilbert +hilbert2 +iircomb +iirdesign +iirfilter +iirnotch +iirpeak +impulse +impulse2 +invres +invresz +istft +kaiser +kaiser_atten +kaiser_beta +kaiserord +lfilter +lfilter_zi +lfiltic +lombscargle +lp2bp +lp2bp_zpk +lp2bs +lp2bs_zpk +lp2hp +lp2hp_zpk +lp2lp +lp2lp_zpk +lsim +lsim2 +lti +lti.__init__ +lti.__new__ +lti.bode +lti.freqresp +lti.impulse +lti.output +lti.step +lti.to_discrete +max_len_seq +medfilt +medfilt2d +minimum_phase +morlet +morlet2 +normalize +nuttall +oaconvolve +order_filter +parzen +peak_prominences +peak_widths +periodogram +place_poles +qmf +qspline1d +qspline1d_eval +qspline2d +quadratic +remez +resample +resample_poly +residue +residuez +ricker +savgol_coeffs +savgol_filter +sawtooth +sepfir2d +sos2tf +sos2zpk +sosfilt +sosfilt_zi +sosfiltfilt +sosfreqz +spectrogram +spline_filter +square +ss2tf +ss2zpk +step +step2 +stft +sweep_poly +symiirorder1 +symiirorder2 +tf2sos +tf2ss +tf2zpk +triang +tukey +unique_roots +unit_impulse +upfirdn +vectorstrength +welch +wiener +zoom_fft +zpk2sos +zpk2ss +zpk2tf +scipy.signal.windows +==================== +boxcar +triang +parzen +bohman +blackman +nuttall +blackmanharris +flattop +bartlett +barthann +hamming +kaiser +kaiser_bessel_derived +gaussian +general_gaussian +general_cosine +general_hamming +chebwin +cosine +hann +exponential +tukey +taylor +get_window +dpss +scipy.sparse +============ +block_diag +bmat +bsr_array +bsr_matrix +bsr_matrix._binopt +bsr_matrix._with_data +bsr_matrix.check_format +bsr_matrix.diagonal +bsr_matrix.eliminate_zeros +bsr_matrix.getnnz +bsr_matrix.prune +bsr_matrix.sort_indices +bsr_matrix.sum_duplicates +bsr_matrix.toarray +bsr_matrix.tobsr +bsr_matrix.tocoo +bsr_matrix.tocsc +bsr_matrix.tocsr +bsr_matrix.transpose +coo_array +coo_matrix +coo_matrix._check +coo_matrix._with_data +coo_matrix.diagonal +coo_matrix.eliminate_zeros +coo_matrix.getnnz +coo_matrix.reshape +coo_matrix.resize +coo_matrix.sum_duplicates +coo_matrix.toarray +coo_matrix.tocoo +coo_matrix.tocsc +coo_matrix.tocsr +coo_matrix.todia +coo_matrix.todok +coo_matrix.transpose +csc_array +csc_matrix +csc_matrix._swap +csc_matrix.getcol +csc_matrix.getrow +csc_matrix.nonzero +csc_matrix.tocsc +csc_matrix.tocsr +csc_matrix.transpose +csr_array +csr_matrix +csr_matrix._swap +csr_matrix.getcol +csr_matrix.getrow +csr_matrix.tobsr +csr_matrix.tocsc +csr_matrix.tocsr +csr_matrix.tolil +csr_matrix.transpose +dia_array +dia_matrix +dia_matrix._data_mask +dia_matrix._with_data +dia_matrix.count_nonzero +dia_matrix.diagonal +dia_matrix.getnnz +dia_matrix.resize +dia_matrix.sum +dia_matrix.tocoo +dia_matrix.tocsc +dia_matrix.todia +dia_matrix.transpose +diags +dok_array +dok_matrix +dok_matrix._update +dok_matrix.conjtransp +dok_matrix.copy +dok_matrix.count_nonzero +dok_matrix.get +dok_matrix.getnnz +dok_matrix.resize +dok_matrix.shape +dok_matrix.tocoo +dok_matrix.tocsc +dok_matrix.todok +dok_matrix.transpose +eye +find +hstack +identity +issparse +isspmatrix +isspmatrix_bsr +isspmatrix_coo +isspmatrix_csc +isspmatrix_csr +isspmatrix_dia +isspmatrix_dok +isspmatrix_lil +kron +kronsum +lil_array +lil_matrix +lil_matrix._get_row_ranges +lil_matrix.copy +lil_matrix.count_nonzero +lil_matrix.getnnz +lil_matrix.getrow +lil_matrix.getrowview +lil_matrix.reshape +lil_matrix.resize +lil_matrix.toarray +lil_matrix.tocsr +lil_matrix.tolil +lil_matrix.transpose +load_npz +rand +random +save_npz +spdiags +spmatrix +spmatrix._mul_dispatch +spmatrix.asformat +spmatrix.asfptype +spmatrix.astype +spmatrix.conj +spmatrix.conjugate +spmatrix.copy +spmatrix.count_nonzero +spmatrix.diagonal +spmatrix.dot +spmatrix.getH +spmatrix.get_shape +spmatrix.getcol +spmatrix.getformat +spmatrix.getmaxprint +spmatrix.getnnz +spmatrix.getrow +spmatrix.maximum +spmatrix.mean +spmatrix.minimum +spmatrix.multiply +spmatrix.nnz +spmatrix.nonzero +spmatrix.power +spmatrix.reshape +spmatrix.resize +spmatrix.set_shape +spmatrix.setdiag +spmatrix.shape +spmatrix.sum +spmatrix.toarray +spmatrix.tobsr +spmatrix.tocoo +spmatrix.tocsc +spmatrix.tocsr +spmatrix.todense +spmatrix.todia +spmatrix.todok +spmatrix.tolil +spmatrix.trace +spmatrix.transpose +tril +triu +vstack +scipy.sparse.csgraph +==================== +connected_components +laplacian +shortest_path +floyd_warshall +dijkstra +bellman_ford +johnson +breadth_first_order +depth_first_order +breadth_first_tree +depth_first_tree +minimum_spanning_tree +reverse_cuthill_mckee +maximum_flow +maximum_bipartite_matching +min_weight_full_bipartite_matching +structural_rank +construct_dist_matrix +reconstruct_path +csgraph_masked_from_dense +csgraph_from_dense +csgraph_from_masked +csgraph_to_dense +csgraph_to_masked +scipy.sparse.linalg +=================== +ArpackError +ArpackNoConvergence +LinearOperator +LinearOperator.H +LinearOperator.T +LinearOperator.__init__ +LinearOperator._adjoint +LinearOperator._init_dtype +LinearOperator._matmat +LinearOperator._matvec +LinearOperator._rmatmat +LinearOperator._rmatvec +LinearOperator._transpose +LinearOperator.adjoint +LinearOperator.dot +LinearOperator.matmat +LinearOperator.matvec +LinearOperator.rmatmat +LinearOperator.rmatvec +LinearOperator.transpose +SuperLU +SuperLU.solve +aslinearoperator +bicg +bicgstab +cg +cgs +eigs +eigsh +expm +expm_multiply +factorized +gcrotmk +gmres +inv +lgmres +lobpcg +lsmr +lsqr +minres +norm +onenormest +qmr +spilu +splu +spsolve +spsolve_triangular +svds +tfqmr +use_solver +scipy.spatial +============= +ConvexHull +ConvexHull.add_points +Delaunay +Delaunay.add_points +Delaunay.convex_hull +Delaunay.find_simplex +Delaunay.lift_points +Delaunay.plane_distance +Delaunay.transform +Delaunay.vertex_neighbor_vertices +Delaunay.vertex_to_simplex +HalfspaceIntersection +HalfspaceIntersection.add_halfspaces +KDTree +KDTree.count_neighbors +KDTree.node._create +KDTree.query +KDTree.query_ball_point +KDTree.query_ball_tree +KDTree.query_pairs +KDTree.sparse_distance_matrix +Rectangle +Rectangle.__init__ +Rectangle.max_distance_point +Rectangle.max_distance_rectangle +Rectangle.min_distance_point +Rectangle.min_distance_rectangle +Rectangle.split +Rectangle.volume +SphericalVoronoi +SphericalVoronoi._calc_vertices_regions +SphericalVoronoi.calculate_areas +SphericalVoronoi.sort_vertices_of_regions +Voronoi +Voronoi.add_points +cKDTree +cKDTree.__init__ +cKDTree._build_weights +cKDTree.count_neighbors +cKDTree.query +cKDTree.query_ball_point +cKDTree.query_ball_tree +cKDTree.query_pairs +cKDTree.sparse_distance_matrix +convex_hull_plot_2d +delaunay_plot_2d +distance_matrix +geometric_slerp +minkowski_distance +minkowski_distance_p +procrustes +tsearch +voronoi_plot_2d +scipy.spatial.distance +====================== +braycurtis +canberra +cdist +chebyshev +cityblock +correlation +cosine +dice +directed_hausdorff +euclidean +hamming +is_valid_dm +is_valid_y +jaccard +jensenshannon +kulczynski1 +mahalanobis +minkowski +num_obs_dm +num_obs_y +pdist +rogerstanimoto +russellrao +seuclidean +sokalmichener +sokalsneath +sqeuclidean +squareform +yule +scipy.spatial.transform +======================= +Rotation +Rotation.__delitem__ +Rotation.__getitem__ +Rotation.__init__ +Rotation.__len__ +Rotation.__mul__ +Rotation.__rmul__ +Rotation.__setitem__ +Rotation.align_vectors +Rotation.apply +Rotation.as_euler +Rotation.as_matrix +Rotation.as_mrp +Rotation.as_quat +Rotation.as_rotvec +Rotation.concatenate +Rotation.create_group +Rotation.from_euler +Rotation.from_matrix +Rotation.from_mrp +Rotation.from_quat +Rotation.from_rotvec +Rotation.identity +Rotation.inv +Rotation.magnitude +Rotation.mean +Rotation.random +Rotation.reduce +Slerp +Slerp.__call__ +RotationSpline +RotationSpline.__call__ +scipy.special +============= +agm +airy +airye +bdtr +bdtrc +bdtri +bdtrik +bdtrin +bei +beip +ber +berp +besselpoly +beta +betainc +betaincinv +betaln +binom +boxcox +boxcox1p +btdtr +btdtri +btdtria +btdtrib +cbrt +chdtr +chdtrc +chdtri +chdtriv +chndtr +chndtridf +chndtrinc +chndtrix +cosdg +cosm1 +cotdg +dawsn +ellipe +ellipeinc +ellipj +ellipk +ellipkinc +ellipkm1 +elliprc +elliprd +elliprf +elliprg +elliprj +entr +erf +erfc +erfcinv +erfcx +erfi +erfinv +eval_chebyc +eval_chebys +eval_chebyt +eval_chebyu +eval_gegenbauer +eval_genlaguerre +eval_hermite +eval_hermitenorm +eval_jacobi +eval_laguerre +eval_legendre +eval_sh_chebyt +eval_sh_chebyu +eval_sh_jacobi +eval_sh_legendre +exp1 +exp10 +exp2 +expi +expit +expm1 +expn +exprel +fdtr +fdtrc +fdtri +fdtridfd +fresnel +gamma +gammainc +gammaincc +gammainccinv +gammaincinv +gammaln +gammasgn +gdtr +gdtrc +gdtria +gdtrib +gdtrix +hankel1 +hankel1e +hankel2 +hankel2e +huber +hyp0f1 +hyp1f1 +hyp2f1 +hyperu +i0 +i0e +i1 +i1e +inv_boxcox +inv_boxcox1p +it2i0k0 +it2j0y0 +it2struve0 +itairy +iti0k0 +itj0y0 +itmodstruve0 +itstruve0 +iv +ive +j0 +j1 +jv +jve +k0 +k0e +k1 +k1e +kei +keip +kelvin +ker +kerp +kl_div +kn +kolmogi +kolmogorov +kv +kve +log1p +log_expit +log_ndtr +loggamma +logit +lpmv +mathieu_a +mathieu_b +mathieu_cem +mathieu_modcem1 +mathieu_modcem2 +mathieu_modsem1 +mathieu_modsem2 +mathieu_sem +modfresnelm +modfresnelp +modstruve +nbdtr +nbdtrc +nbdtri +nbdtrik +nbdtrin +ncfdtr +ncfdtri +ncfdtridfd +ncfdtridfn +ncfdtrinc +nctdtr +nctdtridf +nctdtrinc +nctdtrit +ndtr +ndtri +ndtri_exp +nrdtrimn +nrdtrisd +obl_ang1 +obl_ang1_cv +obl_cv +obl_rad1 +obl_rad1_cv +obl_rad2 +obl_rad2_cv +owens_t +pbdv +pbvv +pbwa +pdtr +pdtrc +pdtri +pdtrik +poch +pro_ang1 +pro_ang1_cv +pro_cv +pro_rad1 +pro_rad1_cv +pro_rad2 +pro_rad2_cv +pseudo_huber +psi +radian +rel_entr +rgamma +round +shichi +sici +sindg +smirnov +smirnovi +spence +sph_harm +stdtr +stdtridf +stdtrit +struve +tandg +tklmbda +voigt_profile +wofz +wright_bessel +wrightomega +xlog1py +xlogy +y0 +y1 +yn +yv +yve +zetac +geterr +seterr +errstate +jn +ai_zeros +assoc_laguerre +bei_zeros +beip_zeros +ber_zeros +bernoulli +berp_zeros +bi_zeros +clpmn +comb +digamma +diric +erf_zeros +euler +factorial +factorial2 +factorialk +fresnel_zeros +fresnelc_zeros +fresnels_zeros +h1vp +h2vp +ivp +jn_zeros +jnjnp_zeros +jnp_zeros +jnyn_zeros +jvp +kei_zeros +keip_zeros +kelvin_zeros +ker_zeros +kerp_zeros +kvp +lmbda +lpmn +lpn +lqmn +lqn +mathieu_even_coef +mathieu_odd_coef +obl_cv_seq +pbdn_seq +pbdv_seq +pbvv_seq +perm +polygamma +pro_cv_seq +riccati_jn +riccati_yn +y0_zeros +y1_zeros +y1p_zeros +yn_zeros +ynp_zeros +yvp +zeta +legendre +chebyt +chebyu +chebyc +chebys +jacobi +laguerre +genlaguerre +hermite +hermitenorm +gegenbauer +sh_legendre +sh_chebyt +sh_chebyu +sh_jacobi +roots_legendre +roots_chebyt +roots_chebyu +roots_chebyc +roots_chebys +roots_jacobi +roots_laguerre +roots_genlaguerre +roots_hermite +roots_hermitenorm +roots_gegenbauer +roots_sh_legendre +roots_sh_chebyt +roots_sh_chebyu +roots_sh_jacobi +p_roots +t_roots +u_roots +c_roots +s_roots +j_roots +l_roots +la_roots +h_roots +he_roots +cg_roots +ps_roots +ts_roots +us_roots +js_roots +SpecialFunctionWarning +SpecialFunctionError +logsumexp +softmax +log_softmax +multigammaln +ellip_harm +ellip_harm_2 +ellip_normal +lambertw +spherical_jn +spherical_yn +spherical_in +spherical_kn +scipy.stats +=========== +ConstantInputWarning +DegenerateDataWarning +FitError +NearConstantInputWarning +alexandergovern +alpha +anderson +anderson_ksamp +anglit +ansari +arcsine +argus +barnard_exact +bartlett +bayes_mvs +bernoulli +beta +betabinom +betaprime +binned_statistic +binned_statistic_2d +binned_statistic_dd +binom +binomtest +boltzmann +bootstrap +boschloo_exact +boxcox +boxcox_llf +boxcox_normmax +boxcox_normplot +bradford +brunnermunzel +burr +burr12 +cauchy +chi +chi2 +chi2_contingency +chisquare +circmean +circstd +circvar +combine_pvalues +cosine +cramervonmises +cramervonmises_2samp +crystalball +cumfreq +describe +dgamma +differential_entropy +dirichlet +dlaplace +dweibull +energy_distance +entropy +epps_singleton_2samp +erlang +expon +exponnorm +exponpow +exponweib +f +f_oneway +fatiguelife +find_repeats +fisher_exact +fisk +fit +fligner +foldcauchy +foldnorm +friedmanchisquare +gamma +gausshyper +gaussian_kde +gaussian_kde._compute_covariance +gaussian_kde.evaluate +gaussian_kde.integrate_box +gaussian_kde.integrate_box_1d +gaussian_kde.integrate_gaussian +gaussian_kde.integrate_kde +gaussian_kde.logpdf +gaussian_kde.pdf +gaussian_kde.resample +gaussian_kde.scotts_factor +gaussian_kde.set_bandwidth +gaussian_kde.silverman_factor +genexpon +genextreme +gengamma +genhalflogistic +genhyperbolic +geninvgauss +genlogistic +gennorm +genpareto +geom +gibrat +gmean +gompertz +gstd +gumbel_l +gumbel_r +gzscore +halfcauchy +halfgennorm +halflogistic +halfnorm +hmean +hypergeom +hypsecant +invgamma +invgauss +invweibull +invwishart +iqr +jarque_bera +johnsonsb +johnsonsu +kappa3 +kappa4 +kendalltau +kruskal +ks_1samp +ks_2samp +ksone +kstat +kstatvar +kstest +kstwo +kstwobign +kurtosis +kurtosistest +laplace +laplace_asymmetric +levene +levy +levy_l +levy_stable +linregress +loggamma +logistic +loglaplace +lognorm +logser +loguniform +lomax +mannwhitneyu +matrix_normal +maxwell +median_abs_deviation +median_test +mielke +mode +moment +monte_carlo_test +mood +moyal +multinomial +multiscale_graphcorr +multivariate_hypergeom +multivariate_normal +multivariate_t +mvsdist +nakagami +nbinom +ncf +nchypergeom_fisher +nchypergeom_wallenius +nct +ncx2 +nhypergeom +norm +normaltest +norminvgauss +obrientransform +ortho_group +page_trend_test +pareto +pearson3 +pearsonr +percentileofscore +permutation_test +planck +pmean +pointbiserialr +poisson +power_divergence +powerlaw +powerlognorm +powernorm +ppcc_max +ppcc_plot +probplot +randint +random_correlation +rankdata +ranksums +rayleigh +rdist +recipinvgauss +reciprocal +relfreq +rice +rv_continuous +rv_continuous._attach_methods +rv_continuous._fit_loc_scale_support +rv_continuous._fitstart +rv_continuous._reduce_func +rv_continuous._updated_ctor_param +rv_continuous.cdf +rv_continuous.expect +rv_continuous.fit +rv_continuous.fit_loc_scale +rv_continuous.isf +rv_continuous.logcdf +rv_continuous.logpdf +rv_continuous.logsf +rv_continuous.pdf +rv_continuous.ppf +rv_continuous.sf +rv_discrete +rv_discrete._attach_methods +rv_discrete._updated_ctor_param +rv_discrete.cdf +rv_discrete.expect +rv_discrete.isf +rv_discrete.logcdf +rv_discrete.logpmf +rv_discrete.logsf +rv_discrete.pmf +rv_discrete.ppf +rv_discrete.rvs +rv_discrete.sf +rv_histogram +rv_histogram.__init__ +rv_histogram._cdf +rv_histogram._entropy +rv_histogram._munp +rv_histogram._pdf +rv_histogram._ppf +rv_histogram._updated_ctor_param +rvs_ratio_uniforms +scoreatpercentile +sem +semicircular +shapiro +siegelslopes +sigmaclip +skellam +skew +skewcauchy +skewnorm +skewtest +somersd +spearmanr +special_ortho_group +studentized_range +t +theilslopes +tiecorrect +tmax +tmean +tmin +trapezoid +trapz +triang +trim1 +trim_mean +trimboth +truncexpon +truncnorm +truncweibull_min +tsem +tstd +ttest_1samp +ttest_ind +ttest_ind_from_stats +ttest_rel +tukey_hsd +tukeylambda +tvar +uniform +unitary_group +variation +vonmises +vonmises_line +wald +wasserstein_distance +weibull_max +weibull_min +weightedtau +wilcoxon +wishart +wrapcauchy +yeojohnson +yeojohnson_llf +yeojohnson_normmax +yeojohnson_normplot +yulesimon +zipf +zipfian +zmap +zscore +scipy.stats.mstats +================== +argstoarray +brunnermunzel +chisquare +compare_medians_ms +count_tied_groups +describe +f_oneway +find_repeats +friedmanchisquare +gmean +hdmedian +hdquantiles +hdquantiles_sd +hmean +idealfourths +kendalltau +kendalltau_seasonal +kruskal +kruskalwallis +ks_1samp +ks_2samp +ks_twosamp +kstest +kurtosis +kurtosistest +linregress +mannwhitneyu +median_cihs +meppf +mjci +mode +moment +mquantiles +mquantiles_cimj +msign +normaltest +obrientransform +pearsonr +plotting_positions +pointbiserialr +rankdata +rsh +scoreatpercentile +sem +siegelslopes +skew +skewtest +spearmanr +theilslopes +tmax +tmean +tmin +trim +trima +trimboth +trimmed_mean +trimmed_mean_ci +trimmed_std +trimmed_stde +trimmed_var +trimr +trimtail +tsem +ttest_1samp +ttest_ind +ttest_onesamp +ttest_rel +tvar +variation +winsorize +zmap +zscore +scipy.stats.contingency +======================= +margins +expected_freq +chi2_contingency +crosstab +association +relative_risk +scipy.stats.qmc +=============== +Halton +Halton.random +LatinHypercube +LatinHypercube._random +LatinHypercube._random_cd +LatinHypercube._random_oa_lhs +LatinHypercube.random +MultinomialQMC +MultinomialQMC.random +MultivariateNormalQMC +MultivariateNormalQMC._standard_normal_samples +MultivariateNormalQMC.random +PoissonDisk +PoissonDisk._hypersphere_surface_sample +PoissonDisk._hypersphere_volume_sample +PoissonDisk._initialize_grid_pool +PoissonDisk.fill_space +PoissonDisk.random +PoissonDisk.reset +QMCEngine +QMCEngine.fast_forward +QMCEngine.integers +QMCEngine.random +QMCEngine.reset +Sobol +Sobol._scramble +Sobol.fast_forward +Sobol.random +Sobol.random_base2 +Sobol.reset +discrepancy +scale +update_discrepancy +scipy.stats.sampling +==================== +DiscreteAliasUrn +DiscreteGuideTable +NumericalInverseHermite +NumericalInversePolynomial +SimpleRatioUniforms +TransformedDensityRejection +UNURANError diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index b3f1ba832efa..d590c1e55107 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -62,6 +62,8 @@ module_names = PUBLIC_SUBMODULES +LOGFILE = open('doctest.log', 'a') + all_success = True for submodule_name in module_names: prefix = BASE_MODULE + '.' @@ -80,6 +82,11 @@ result, history = testmod(module, strategy='api', config=config) + LOGFILE.write(module_name + '\n') + LOGFILE.write("="*len(module_name) + '\n') + for entry in history: + LOGFILE.write(str(entry) + '\n') + sys.stderr.write(str(result)) all_success = all_success and (result.failed == 0) diff --git a/tools/refguide_check.py b/tools/refguide_check.py index 3c49c62de96b..1e50bbac1308 100755 --- a/tools/refguide_check.py +++ b/tools/refguide_check.py @@ -719,7 +719,8 @@ def temp_cwd(): if fails > 0: success = False - LOGFILE.write(str(runner._name2ft) + "\n") + for entry in runner._name2ft: + LOGFILE.write(str(entry) + "\n") output.seek(0) return success, output.read() From 28e68249222c31c5239171506164333f2e471760 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 18 Jun 2022 21:25:08 +0300 Subject: [PATCH 04/38] ENH: plumb docstest_public_submodules.py through to dev.py (nee do.py) --- dev.py | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/dev.py b/dev.py index 6248961e88e3..3ae5f7823e0d 100644 --- a/dev.py +++ b/dev.py @@ -188,7 +188,7 @@ class EMOJI: }, { "name": "documentation", - "commands": ["doc", "refguide-check"], + "commands": ["doc", "refguide-check", "doctest"], }, { "name": "release", @@ -1095,6 +1095,37 @@ def task_meta(cls, **kwargs): } +@cli.cls_cmd('doctest') +class Doctest(Task): + """:wrench: Run doctests""" + ctx = CONTEXT + + submodule = Option( + ['--submodule', '-s'], default=None, metavar='SUBMODULE', + help="Submodule whose tests to run (cluster, constants, ...)") + verbose = Option( + ['--verbose', '-v'], default=False, is_flag=True, help="verbosity") + + @classmethod + def task_meta(cls, **kwargs): + kwargs.update(cls.ctx.get()) + Args = namedtuple('Args', [k for k in kwargs.keys()]) + args = Args(**kwargs) + dirs = Dirs(args) + + cmd = [sys.executable, + str(dirs.root / 'tools' / 'doctest_public_modules.py')] + if args.verbose: + cmd += ['-vvv'] + if args.submodule: + cmd += [args.submodule] + cmd_str = ' '.join(cmd) + return { + 'actions': [f'env PYTHONPATH={dirs.site} {cmd_str}'], + 'task_dep': ['build'], + 'io': {'capture': False}, + } + ########################################## # ENVS From d49df76c9df698362658370c312201d876efd56f Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Fri, 16 Feb 2024 18:31:10 +0300 Subject: [PATCH 05/38] MAINT: close the LOGFILE --- tools/doctest_public_modules.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index d590c1e55107..404951c0cd5e 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -3,7 +3,7 @@ import importlib from scpdt import testmod, DTConfig -from scpdt._util import get_all_list +from scpdt.util import get_all_list BASE_MODULE = "scipy" @@ -54,7 +54,7 @@ } ################### A user ctx mgr to turn warnings to errors ################### -from scpdt._util import warnings_errors +from scpdt.util import warnings_errors config = DTConfig() config.user_context_mgr = warnings_errors @@ -91,6 +91,9 @@ all_success = all_success and (result.failed == 0) + +LOGFILE.close() + # final report if all_success: sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') From b750bada257502f7b7f75f87319704dcd200f360 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 18 Jun 2022 21:26:10 +0300 Subject: [PATCH 06/38] CI: run doctesting on GH actions -- ADD A CLI to too/doctest_... --- tools/doctest_public_modules.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 404951c0cd5e..1bdf826793da 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -101,3 +101,24 @@ else: sys.stderr.write('\n\n>>>> ERROR: doctests FAILED\n') sys.exit(-1) + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="doctest runner") + parser.add_argument('-v', '--verbose', action='count', default=0, + help='print verbose (`-v`) or very verbose (`-vv`) ' + 'output for all tests') + parser.add_argument('-x', '--fail-fast', action='store_true', + help=('stop running tests after first failure')) + parser.add_argument( "-s", "--submodule", default=None, + help="Submodule whose tests to run (cluster," + " constants, ...)") + parser.add_argument( "-t", "--tests", action='append', + help="Specify a .py file to check") +## parser.add_argument('file', nargs='+', +## help='file containing the tests to run') + args = parser.parse_args() + testfiles = args.file + verbose = args.verbose From ac46f16de38470ed22f2e64ceffe5b610c8c0e87 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 25 Jun 2022 20:19:51 +0300 Subject: [PATCH 07/38] WIP: cmdline API for doctest_public_modules --- dev.py | 2 +- tools/doctest_public_modules.py | 86 +++++++++++++++++++-------------- 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/dev.py b/dev.py index 3ae5f7823e0d..14506b0ed9fc 100644 --- a/dev.py +++ b/dev.py @@ -1086,7 +1086,7 @@ def task_meta(cls, **kwargs): if args.verbose: cmd += ['-vvv'] if args.submodule: - cmd += [args.submodule] + cmd += ['-s ', args.submodule] cmd_str = ' '.join(cmd) return { 'actions': [f'env PYTHONPATH={dirs.site} {cmd_str}'], diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 1bdf826793da..e8a8cda17acb 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -60,47 +60,44 @@ config.user_context_mgr = warnings_errors ############################################################################ -module_names = PUBLIC_SUBMODULES - LOGFILE = open('doctest.log', 'a') -all_success = True -for submodule_name in module_names: - prefix = BASE_MODULE + '.' - if not submodule_name.startswith(prefix): - module_name = prefix + submodule_name - else: - module_name = submodule_name - module = importlib.import_module(module_name) - full_name = module.__name__ - line = '='*len(full_name) - sys.stderr.write(f"\n\n{line}\n") - sys.stderr.write(full_name) - sys.stderr.write(f"\n{line}\n") +def doctest_submodules(module_names, verbose, fail_fast): + all_success = True + for submodule_name in module_names: + prefix = BASE_MODULE + '.' + if not submodule_name.startswith(prefix): + module_name = prefix + submodule_name + else: + module_name = submodule_name + + module = importlib.import_module(module_name) - result, history = testmod(module, strategy='api', config=config) + full_name = module.__name__ + line = '='*len(full_name) + sys.stderr.write(f"\n\n{line}\n") + sys.stderr.write(full_name) + sys.stderr.write(f"\n{line}\n") - LOGFILE.write(module_name + '\n') - LOGFILE.write("="*len(module_name) + '\n') - for entry in history: - LOGFILE.write(str(entry) + '\n') + result, history = testmod(module, strategy='api', + verbose=verbose, + raise_on_error=fail_fast, config=config) - sys.stderr.write(str(result)) + LOGFILE.write(module_name + '\n') + LOGFILE.write("="*len(module_name) + '\n') + for entry in history: + LOGFILE.write(str(entry) + '\n') - all_success = all_success and (result.failed == 0) + sys.stderr.write(str(result)) + all_success = all_success and (result.failed == 0) + return all_success -LOGFILE.close() +def doctest_single_file(fname): + raise NotImplementedError -# final report -if all_success: - sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') - sys.exit(0) -else: - sys.stderr.write('\n\n>>>> ERROR: doctests FAILED\n') - sys.exit(-1) if __name__ == "__main__": @@ -115,10 +112,29 @@ parser.add_argument( "-s", "--submodule", default=None, help="Submodule whose tests to run (cluster," " constants, ...)") - parser.add_argument( "-t", "--tests", action='append', + parser.add_argument( "-t", "--tests", default=None, help="Specify a .py file to check") -## parser.add_argument('file', nargs='+', -## help='file containing the tests to run') args = parser.parse_args() - testfiles = args.file - verbose = args.verbose + + # TODO: verbosity + + if args.submodule and args.tests: + raise ValueError("Specify either a submodule or a single file, not both.") + + if args.tests: + all_success = doctest_single_file(args.tests) + else: + name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc + submodule_names = [name] if name else list(PUBLIC_SUBMODULES) + all_success = doctest_submodules(submodule_names, + verbose=args.verbose, + fail_fast=args.fail_fast) + + # final report + if all_success: + sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') + sys.exit(0) + else: + sys.stderr.write('\n\n>>>> ERROR: doctests FAILED\n') + sys.exit(1) + From dd87201c02799ab4279ba789a427f3b37050980e Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 27 Jun 2022 00:15:02 +0300 Subject: [PATCH 08/38] WIP: temporarily comment out the verbosity setting --- dev.py | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/dev.py b/dev.py index 14506b0ed9fc..6248961e88e3 100644 --- a/dev.py +++ b/dev.py @@ -188,7 +188,7 @@ class EMOJI: }, { "name": "documentation", - "commands": ["doc", "refguide-check", "doctest"], + "commands": ["doc", "refguide-check"], }, { "name": "release", @@ -1085,38 +1085,6 @@ def task_meta(cls, **kwargs): '--doctests'] if args.verbose: cmd += ['-vvv'] - if args.submodule: - cmd += ['-s ', args.submodule] - cmd_str = ' '.join(cmd) - return { - 'actions': [f'env PYTHONPATH={dirs.site} {cmd_str}'], - 'task_dep': ['build'], - 'io': {'capture': False}, - } - - -@cli.cls_cmd('doctest') -class Doctest(Task): - """:wrench: Run doctests""" - ctx = CONTEXT - - submodule = Option( - ['--submodule', '-s'], default=None, metavar='SUBMODULE', - help="Submodule whose tests to run (cluster, constants, ...)") - verbose = Option( - ['--verbose', '-v'], default=False, is_flag=True, help="verbosity") - - @classmethod - def task_meta(cls, **kwargs): - kwargs.update(cls.ctx.get()) - Args = namedtuple('Args', [k for k in kwargs.keys()]) - args = Args(**kwargs) - dirs = Dirs(args) - - cmd = [sys.executable, - str(dirs.root / 'tools' / 'doctest_public_modules.py')] - if args.verbose: - cmd += ['-vvv'] if args.submodule: cmd += [args.submodule] cmd_str = ' '.join(cmd) @@ -1126,6 +1094,7 @@ def task_meta(cls, **kwargs): 'io': {'capture': False}, } + ########################################## # ENVS From 971df5ed1867920b57d4e9bd4664de6ebb46fafb Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 27 Jun 2022 01:07:41 +0300 Subject: [PATCH 09/38] BUG: run all modules if not provided --- tools/doctest_public_modules.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index e8a8cda17acb..995ec9a10dcf 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -60,7 +60,7 @@ config.user_context_mgr = warnings_errors ############################################################################ -LOGFILE = open('doctest.log', 'a') +#LOGFILE = open('doctest.log', 'a') @@ -85,14 +85,14 @@ def doctest_submodules(module_names, verbose, fail_fast): verbose=verbose, raise_on_error=fail_fast, config=config) - LOGFILE.write(module_name + '\n') - LOGFILE.write("="*len(module_name) + '\n') - for entry in history: - LOGFILE.write(str(entry) + '\n') +# LOGFILE.write(module_name + '\n') +# LOGFILE.write("="*len(module_name) + '\n') +# for entry in history: +# LOGFILE.write(str(entry) + '\n') sys.stderr.write(str(result)) all_success = all_success and (result.failed == 0) - return all_success + return all_success def doctest_single_file(fname): From 3d96ab29884ea45ffdec9ec9cc4109467e9705ad Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 27 Jun 2022 13:09:13 +0300 Subject: [PATCH 10/38] ENH: doctests: implement the -t option to test a single file $ python dev.py doctest -t absolute/path/to/file.py --- tools/doctest_public_modules.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 995ec9a10dcf..2114dec6257d 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -2,7 +2,7 @@ import sys import importlib -from scpdt import testmod, DTConfig +from scpdt import testmod, testfile, DTConfig from scpdt.util import get_all_list @@ -96,8 +96,8 @@ def doctest_submodules(module_names, verbose, fail_fast): def doctest_single_file(fname): - raise NotImplementedError - + result, history = testfile(fname, config=config, module_relative=False) + return result.failed == 0 if __name__ == "__main__": From 6adda1331292b043824f5de507d3876cc6e489e8 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Tue, 28 Jun 2022 23:57:13 +0300 Subject: [PATCH 11/38] WIP: dev.py/refguide-check/doctest --- tools/doctest_public_modules.py | 52 ++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 2114dec6257d..b6c26ec3469c 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -95,41 +95,26 @@ def doctest_submodules(module_names, verbose, fail_fast): return all_success -def doctest_single_file(fname): - result, history = testfile(fname, config=config, module_relative=False) +def doctest_single_file(fname, verbose, fail_fast): + result, history = testfile(fname, config=config, module_relative=False, + verbose=verbose, raise_on_error=fail_fast) return result.failed == 0 -if __name__ == "__main__": - import argparse - - parser = argparse.ArgumentParser(description="doctest runner") - parser.add_argument('-v', '--verbose', action='count', default=0, - help='print verbose (`-v`) or very verbose (`-vv`) ' - 'output for all tests') - parser.add_argument('-x', '--fail-fast', action='store_true', - help=('stop running tests after first failure')) - parser.add_argument( "-s", "--submodule", default=None, - help="Submodule whose tests to run (cluster," - " constants, ...)") - parser.add_argument( "-t", "--tests", default=None, - help="Specify a .py file to check") - args = parser.parse_args() - - # TODO: verbosity - - if args.submodule and args.tests: +def main(args): + if args.submodule and args.filename: raise ValueError("Specify either a submodule or a single file, not both.") - if args.tests: - all_success = doctest_single_file(args.tests) + if args.filename: + all_success = doctest_single_file(args.filename, + verbose=args.verbose, + fail_fast=args.fail_fast) else: name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc submodule_names = [name] if name else list(PUBLIC_SUBMODULES) all_success = doctest_submodules(submodule_names, verbose=args.verbose, fail_fast=args.fail_fast) - # final report if all_success: sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') @@ -138,3 +123,22 @@ def doctest_single_file(fname): sys.stderr.write('\n\n>>>> ERROR: doctests FAILED\n') sys.exit(1) + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="doctest runner") + parser.add_argument('-v', '--verbose', action='count', default=0, + help='print verbose (`-v`) or very verbose (`-vv`) ' + 'output for all tests') + parser.add_argument('-x', '--fail-fast', action='store_true', + help=('stop running tests after first failure')) + parser.add_argument( "-s", "--submodule", default=None, + help="Submodule whose tests to run (cluster," + " constants, ...)") + parser.add_argument( "-t", "--filename", default=None, + help="Specify a .py file to check") + args = parser.parse_args() + + main(args) + From 3d1b5e684938fc90ae4d1c15d7fb525c37c2fe00 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 3 Jul 2022 13:07:50 +0300 Subject: [PATCH 12/38] ENH: doctests: run doctesting on tutorials --- tools/doctest_public_modules.py | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index b6c26ec3469c..9fc655f1ec73 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -1,4 +1,5 @@ import os +import glob import sys import importlib @@ -101,6 +102,32 @@ def doctest_single_file(fname, verbose, fail_fast): return result.failed == 0 +def doctest_tutorial(verbose, fail_fast): + base_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') + tut_path = os.path.join(base_dir, 'doc', 'source', 'tutorial', '*.rst') + sys.stderr.write('\nChecking tutorial files at %s:\n' + % os.path.relpath(tut_path, os.getcwd())) + + tutorials = [f for f in sorted(glob.glob(tut_path))] + + # XXX: cf https://github.com/ev-br/scpdt/issues/43 + tutorials = [f for f in tutorials if 'io.rst' not in f] + + # set up scipy-specific config + config.pseudocode = set(['integrate.nquad(func,']) + + all_success = True + for filename in tutorials: + sys.stderr.write('\n' + filename + '\n') + sys.stderr.write("="*len(filename) + '\n') + + result, history = testfile(filename, module_relative=False, + verbose=verbose, raise_on_error=fail_fast, + report=True, config=config) + all_success = all_success and (result.failed == 0) + return all_success + + def main(args): if args.submodule and args.filename: raise ValueError("Specify either a submodule or a single file, not both.") @@ -115,6 +142,13 @@ def main(args): all_success = doctest_submodules(submodule_names, verbose=args.verbose, fail_fast=args.fail_fast) + all_success = True + + if not args.submodule: + tut_success = doctest_tutorial(verbose=args.verbose, + fail_fast=args.fail_fast) + all_success = all_success and tut_success + # final report if all_success: sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') From 86b9de75e4174d7a8d667abc955a322639f9ae55 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 3 Jul 2022 17:39:09 +0300 Subject: [PATCH 13/38] ENH: allow linalg.norm emit warnings --- tools/doctest_public_modules.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 9fc655f1ec73..70df7f0848ed 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -56,6 +56,22 @@ ################### A user ctx mgr to turn warnings to errors ################### from scpdt.util import warnings_errors +from contextlib import contextmanager +import warnings + +@contextmanager +def warnings_errors(test): + """Temporarily turn (almost) all warnings to errors. + + `linalg.norm` is allowed to emit warnings. + """ + with warnings.catch_warnings(record=True) as w: + if test.name == 'scipy.linalg.norm': + yield + else: + warnings.simplefilter('error', Warning) + yield + config = DTConfig() config.user_context_mgr = warnings_errors @@ -142,8 +158,8 @@ def main(args): all_success = doctest_submodules(submodule_names, verbose=args.verbose, fail_fast=args.fail_fast) - all_success = True + # if full run: also check the tutorial if not args.submodule: tut_success = doctest_tutorial(verbose=args.verbose, fail_fast=args.fail_fast) From 6ad7972cb2ca38c893ef41f8ccffeb3942bb1734 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 4 Jul 2022 10:36:14 +0300 Subject: [PATCH 14/38] MAINT: doctests: clean up dead code/comments --- tools/doctest_public_modules.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 70df7f0848ed..c9cae7e81525 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -13,7 +13,7 @@ 'cluster', 'cluster.hierarchy', 'cluster.vq', - 'constants', ## obj.__name__ + 'constants', 'fft', 'fftpack', 'fftpack.convolve', @@ -47,13 +47,6 @@ 'stats.sampling' ] -# Docs for these modules are included in the parent module -OTHER_MODULE_DOCS = { - 'fftpack.convolve': 'fftpack', - 'io.wavfile': 'io', - 'io.arff': 'io', -} - ################### A user ctx mgr to turn warnings to errors ################### from scpdt.util import warnings_errors from contextlib import contextmanager @@ -77,7 +70,7 @@ def warnings_errors(test): config.user_context_mgr = warnings_errors ############################################################################ -#LOGFILE = open('doctest.log', 'a') +LOGFILE = open('doctest.log', 'a') @@ -102,10 +95,10 @@ def doctest_submodules(module_names, verbose, fail_fast): verbose=verbose, raise_on_error=fail_fast, config=config) -# LOGFILE.write(module_name + '\n') -# LOGFILE.write("="*len(module_name) + '\n') -# for entry in history: -# LOGFILE.write(str(entry) + '\n') + LOGFILE.write(module_name + '\n') + LOGFILE.write("="*len(module_name) + '\n') + for entry in history: + LOGFILE.write(str(entry) + '\n') sys.stderr.write(str(result)) all_success = all_success and (result.failed == 0) From e14be1b86a7a98c3c44518e216d910c6b6ce084f Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Fri, 16 Feb 2024 22:19:49 +0300 Subject: [PATCH 15/38] ENH: plumb doctest_public_modules.py through to dev.py --- dev.py | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/dev.py b/dev.py index 6248961e88e3..c80f974a54de 100644 --- a/dev.py +++ b/dev.py @@ -188,7 +188,7 @@ class EMOJI: }, { "name": "documentation", - "commands": ["doc", "refguide-check"], + "commands": ["doc", "refguide-check", "doctest"], }, { "name": "release", @@ -1073,6 +1073,7 @@ class RefguideCheck(Task): verbose = Option( ['--verbose', '-v'], default=False, is_flag=True, help="verbosity") + @classmethod def task_meta(cls, **kwargs): kwargs.update(cls.ctx.get()) @@ -1095,6 +1096,49 @@ def task_meta(cls, **kwargs): } +@cli.cls_cmd('doctest') +class Doctest(Task): + """:wrench: Run doctests via CLI.""" + ctx = CONTEXT + + submodule = Option( + ['--submodule', '-s'], default=None, metavar='SUBMODULE', + help="Submodule whose tests to run (cluster, constants, ...)") + verbose = Option( + ['--verbose', '-v'], default=False, is_flag=True, help="verbosity") + filename = Option( + ['-t', '--filename'], default=None, metavar='FILENAME', + help="Specify a .py file to check") + fail_fast = Option( + ['--fail-fast', '-x'], default=False, is_flag=True, + help="fail on first error") + + @classmethod + def task_meta(cls, **kwargs): + kwargs.update(cls.ctx.get()) + Args = namedtuple('Args', [k for k in kwargs.keys()]) + args = Args(**kwargs) + dirs = Dirs(args) + + cmd = [f'{sys.executable}', + str(dirs.root / 'tools' / 'doctest_public_modules.py'), + ] + if args.verbose: + cmd += ['-vvv'] + if args.filename: + cmd += ['-t', args.filename] + if args.submodule: + cmd += ['-s', args.submodule] + if args.fail_fast: + cmd += ['-x'] + cmd_str = ' '.join(cmd) + return { + 'actions': [f'env PYTHONPATH={dirs.site} {cmd_str}'], + 'task_dep': ['build'], + 'io': {'capture': False}, + } + + ########################################## # ENVS From f5d9aa2e69391861008a90524088fd9932c05001 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Fri, 16 Feb 2024 22:34:01 +0300 Subject: [PATCH 16/38] ENH: control the rng state This matches the refguide-check behavior, but is a tad strange: makes sure that the seed the old-fashioned np.random* methods is *NOT* reproducible but the new-style `default_rng()` *IS* repoducible. Should these two be either both repro or both not repro? --- tools/doctest_public_modules.py | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index c9cae7e81525..3beb01612d63 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -53,21 +53,38 @@ import warnings @contextmanager -def warnings_errors(test): +def warnings_errors_and_rng(test): """Temporarily turn (almost) all warnings to errors. `linalg.norm` is allowed to emit warnings. """ - with warnings.catch_warnings(record=True) as w: - if test.name == 'scipy.linalg.norm': - yield - else: - warnings.simplefilter('error', Warning) - yield + + # Now, the meat of the matter: filter warnings, + # also control the random seed for each doctest. + + # XXX: this matches the refguide-check behavior, but is a tad strange: + # makes sure that the seed the old-fashioned np.random* methods is *NOT* + # reproducible but the new-style `default_rng()` *IS* repoducible. + # Should these two be either both repro or both not repro? + + from scipy._lib._util import _fixed_default_rng + import numpy as np + with _fixed_default_rng(): + np.random.seed(None) + + with warnings.catch_warnings(record=True) as w: + if test.name == 'scipy.linalg.norm': + yield + else: + warnings.simplefilter('error', Warning) + yield config = DTConfig() -config.user_context_mgr = warnings_errors +config.user_context_mgr = warnings_errors_and_rng +config.skiplist = set([ + 'scipy.linalg.LinAlgError', # comes from numpy +]) ############################################################################ LOGFILE = open('doctest.log', 'a') From 0e00ec05cd07a6aa542f71225ef0e8d712fdcc59 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Fri, 16 Feb 2024 22:35:47 +0300 Subject: [PATCH 17/38] BUG: close the log file --- tools/doctest_public_modules.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 3beb01612d63..bc914e385a43 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -175,6 +175,8 @@ def main(args): fail_fast=args.fail_fast) all_success = all_success and tut_success + LOGFILE.close() + # final report if all_success: sys.stderr.write('\n\n>>>> OK: doctests PASSED\n') From 9050f09ca438cdfa995974d986a52758a1c04e2b Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 00:00:42 +0300 Subject: [PATCH 18/38] WIP: signal.normalize emits warnings (rework the example? + filter out in doctesting) --- tools/doctest_public_modules.py | 60 +++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index bc914e385a43..dd8f53adf3dd 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -52,12 +52,63 @@ from contextlib import contextmanager import warnings + +# FIXME: populate the dict once @contextmanager def warnings_errors_and_rng(test): """Temporarily turn (almost) all warnings to errors. - `linalg.norm` is allowed to emit warnings. + Filter out known warnings which we allow. """ + known_warnings = dict() + + # these functions are known to emit "divide by zero" RuntimeWarnings + divide_by_zero = [ + 'scipy.linalg.norm', 'scipy.ndimage.center_of_mass', + ] + for name in divide_by_zero: + known_warnings[name] = dict(category=RuntimeWarning, + message='divide by zero') + + # Deprecated stuff in scipy.signal and elsewhere + deprecated = [ + 'scipy.signal.cwt', 'scipy.signal.morlet', 'scipy.signal.morlet2', + 'scipy.signal.ricker' + ] + for name in deprecated: + known_warnings[name] = dict(category=DeprecationWarning) + + from scipy import integrate + # the funcions are known to emit IntergrationWarnings + integration_w = ['scipy.special.ellip_normal', + 'scipy.special.ellip_harm_2', + ] + for name in integration_w: + known_warnings[name] = dict(category=integrate.IntegrationWarning, + message='The occurrence of roundoff') + + # additional one-off warnings to filter + dct = { + 'scipy.stats.anderson_ksamp': + dict(category=UserWarning, message='p-value capped:'), + 'scipy.special.ellip_normal': + dict(category=integrate.IntegrationWarning, + message='The occurrence of roundoff'), + 'scipy.special.ellip_harm_2': + dict(category=integrate.IntegrationWarning, + message='The occurrence of roundoff'), + # tutorials + 'linalg.rst': + dict(message='the matrix subclass is not', + category=PendingDeprecationWarning), + 'stats.rst': + dict(message='The maximum number of subdivisions', + category=integrate.IntegrationWarning), + } + + # these legitimately emit warnings in examples + from scipy.signal._filter_design import BadCoefficients + legit = set('scipy.signal.normalize') # Now, the meat of the matter: filter warnings, # also control the random seed for each doctest. @@ -72,8 +123,11 @@ def warnings_errors_and_rng(test): with _fixed_default_rng(): np.random.seed(None) - with warnings.catch_warnings(record=True) as w: - if test.name == 'scipy.linalg.norm': + with warnings.catch_warnings(): + if test.name in known_warnings: + warnings.filterwarnings('ignore', **known_warnings[test.name]) + yield + elif test.name in legit: yield else: warnings.simplefilter('error', Warning) From af2e078c181f25a8a994750cbb93757298ba71aa Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 12:31:01 +0300 Subject: [PATCH 19/38] DOC: fft: fix docstring examples in scipy.fft Add missing imports, now that we explicitly require them. --- scipy/fft/_helper.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scipy/fft/_helper.py b/scipy/fft/_helper.py index b476e177f0ad..aaa9a107be35 100644 --- a/scipy/fft/_helper.py +++ b/scipy/fft/_helper.py @@ -139,6 +139,8 @@ def fftfreq(n, d=1.0, *, xp=None, device=None): Examples -------- + >>> import numpy as np + >>> import scipy.fft >>> signal = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float) >>> fourier = scipy.fft.fft(signal) >>> n = signal.size @@ -193,6 +195,8 @@ def rfftfreq(n, d=1.0, *, xp=None, device=None): Examples -------- + >>> import numpy as np + >>> import scipy.fft >>> signal = np.array([-2, 8, 6, 4, 1, 0, 3, 5, -3, 4], dtype=float) >>> fourier = scipy.fft.rfft(signal) >>> n = signal.size @@ -239,6 +243,7 @@ def fftshift(x, axes=None): Examples -------- + >>> import numpy as np >>> freqs = np.fft.fftfreq(10, 0.1) >>> freqs array([ 0., 1., 2., ..., -3., -2., -1.]) @@ -288,6 +293,7 @@ def ifftshift(x, axes=None): Examples -------- + >>> import numpy as np >>> freqs = np.fft.fftfreq(9, d=1./9).reshape(3, 3) >>> freqs array([[ 0., 1., 2.], From b71962c25dffe33d5bce56deac128f6f786d453d Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 12:39:27 +0300 Subject: [PATCH 20/38] MAINT: fftpack: skip doctesting things from numpy They use an implicit numpy imports, which SciPy does not anymore. So skip them, it's not SciPy job to worry about, really. --- tools/doctest_public_modules.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index dd8f53adf3dd..387cb23817f7 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -16,7 +16,7 @@ 'constants', 'fft', 'fftpack', - 'fftpack.convolve', + 'fftpack.convolve', # has zero doctests? 'integrate', 'interpolate', 'io', @@ -138,6 +138,9 @@ def warnings_errors_and_rng(test): config.user_context_mgr = warnings_errors_and_rng config.skiplist = set([ 'scipy.linalg.LinAlgError', # comes from numpy + 'scipy.fftpack.fftshift', # fftpack stuff is also from numpy + 'scipy.fftpack.ifftshift', + 'scipy.fftpack.fftfreq', ]) ############################################################################ From 08615f4b3f6ac59d2c2f0cab56a1ec9a9ccd77c5 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 12:46:49 +0300 Subject: [PATCH 21/38] MAINT: integrate: adapt `simpson` docstring to deprecations --- scipy/integrate/_quadrature.py | 6 +++--- tools/doctest_public_modules.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scipy/integrate/_quadrature.py b/scipy/integrate/_quadrature.py index a296e83f6f84..a80040c47f4d 100644 --- a/scipy/integrate/_quadrature.py +++ b/scipy/integrate/_quadrature.py @@ -680,16 +680,16 @@ def simpson(y, *, x=None, dx=1.0, axis=-1, even=_NoValue): >>> x = np.arange(0, 10) >>> y = np.arange(0, 10) - >>> integrate.simpson(y, x) + >>> integrate.simpson(y, x=x) 40.5 >>> y = np.power(x, 3) - >>> integrate.simpson(y, x) + >>> integrate.simpson(y, x=x) 1640.5 >>> integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25 - >>> integrate.simpson(y, x, even='first') + >>> integrate.simpson(y, x=x, even='first') 1644.5 """ diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 387cb23817f7..3aebe9a53db1 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -73,7 +73,8 @@ def warnings_errors_and_rng(test): # Deprecated stuff in scipy.signal and elsewhere deprecated = [ 'scipy.signal.cwt', 'scipy.signal.morlet', 'scipy.signal.morlet2', - 'scipy.signal.ricker' + 'scipy.signal.ricker', + 'scipy.integrate.simpson', ] for name in deprecated: known_warnings[name] = dict(category=DeprecationWarning) From 474255bad498673bbdaaf4595bce3e4ce16d4535 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 12:51:13 +0300 Subject: [PATCH 22/38] MAINT: interpolate: account for interp2d being deprecated --- tools/doctest_public_modules.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 3aebe9a53db1..271fb2bdcb94 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -75,6 +75,7 @@ def warnings_errors_and_rng(test): 'scipy.signal.cwt', 'scipy.signal.morlet', 'scipy.signal.morlet2', 'scipy.signal.ricker', 'scipy.integrate.simpson', + 'scipy.interpolate.interp2d', ] for name in deprecated: known_warnings[name] = dict(category=DeprecationWarning) From 314c3fabf8071afd37517083b5a3effd65622603 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 12:53:37 +0300 Subject: [PATCH 23/38] MAINT: doctests: rm scipy.misc, add scipy.datasets --- tools/doctest_public_modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 271fb2bdcb94..8af969fa2822 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -27,7 +27,7 @@ 'linalg.blas', 'linalg.lapack', 'linalg.interpolative', - 'misc', + 'datasets', 'ndimage', 'odr', 'optimize', From 96ccea21a966fc62c52caf99e61fc4b10a53313c Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 13:12:34 +0300 Subject: [PATCH 24/38] DOC: optimize: fix errors in milp and basinhopping docstrings --- scipy/optimize/_basinhopping.py | 5 +++-- scipy/optimize/_milp.py | 4 ++-- tools/doctest_public_modules.py | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/scipy/optimize/_basinhopping.py b/scipy/optimize/_basinhopping.py index d874a708b9a2..d201df179834 100644 --- a/scipy/optimize/_basinhopping.py +++ b/scipy/optimize/_basinhopping.py @@ -580,8 +580,9 @@ def basinhopping(func, x0, niter=100, T=1.0, stepsize=0.5, >>> minimizer_kwargs = {"method": "BFGS"} >>> ret = basinhopping(func, x0, minimizer_kwargs=minimizer_kwargs, ... niter=200) - >>> print("global minimum: x = %.4f, f(x) = %.4f" % (ret.x, ret.fun)) - global minimum: x = -0.1951, f(x) = -1.0009 + >>> # the global minimum is: + >>> ret.x, ret.fun + -0.1951, -1.0009 Next consider a 2-D minimization problem. Also, this time, we will use gradient information to significantly speed up the search. diff --git a/scipy/optimize/_milp.py b/scipy/optimize/_milp.py index fd9ecf52083f..5d8ef9966d19 100644 --- a/scipy/optimize/_milp.py +++ b/scipy/optimize/_milp.py @@ -322,7 +322,7 @@ def milp(c, *, integrality=None, bounds=None, constraints=None, options=None): >>> A = np.array([[-1, 1], [3, 2], [2, 3]]) >>> b_u = np.array([1, 12, 12]) - >>> b_l = np.full_like(b_u, -np.inf) + >>> b_l = np.full_like(b_u, -np.inf, dtype=float) Because there is no lower limit on these constraints, we have defined a variable ``b_l`` full of values representing negative infinity. This may @@ -350,7 +350,7 @@ def milp(c, *, integrality=None, bounds=None, constraints=None, options=None): >>> from scipy.optimize import milp >>> res = milp(c=c, constraints=constraints, integrality=integrality) >>> res.x - [1.0, 2.0] + [2.0, 2.0] Note that had we solved the relaxed problem (without integrality constraints): diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 8af969fa2822..cc1bf6d10520 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -139,10 +139,11 @@ def warnings_errors_and_rng(test): config = DTConfig() config.user_context_mgr = warnings_errors_and_rng config.skiplist = set([ - 'scipy.linalg.LinAlgError', # comes from numpy + 'scipy.linalg.LinAlgError', # comes from numpy 'scipy.fftpack.fftshift', # fftpack stuff is also from numpy 'scipy.fftpack.ifftshift', 'scipy.fftpack.fftfreq', + 'scipy.optimize.show_options', # does not have much to doctest ]) ############################################################################ From 03b9294f57151cca5fbca38fb14e30f8bf9cf492 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 13:34:42 +0300 Subject: [PATCH 25/38] BUG: signal: temporary skip doctesting normalize The docstring manipulates warnings, and that interferes with the doctester. Maybe this is something to fix in the doctester itself, not the docstring. --- tools/doctest_public_modules.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index cc1bf6d10520..f3507358decf 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -144,6 +144,7 @@ def warnings_errors_and_rng(test): 'scipy.fftpack.ifftshift', 'scipy.fftpack.fftfreq', 'scipy.optimize.show_options', # does not have much to doctest + 'scipy.signal.normalize', # manipulates warnings (XXX temp skip) ]) ############################################################################ From 8fb496cda30dcdb19c6895006f8f494f08028a83 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 13:45:13 +0300 Subject: [PATCH 26/38] DOC: sparse: fix the module docstring example --- scipy/sparse/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scipy/sparse/__init__.py b/scipy/sparse/__init__.py index ec3dd05726c9..b710a22325cd 100644 --- a/scipy/sparse/__init__.py +++ b/scipy/sparse/__init__.py @@ -230,7 +230,6 @@ >>> A = lil_array((1000, 1000)) >>> A[0, :100] = rand(100) ->>> A[1, 100:200] = A[0, :100] >>> A.setdiag(rand(1000)) Now convert it to CSR format and solve A x = b for x: From f4fe0fbec3e78cb3ebf6f03719ca8edfb3f5cae8 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 13:53:29 +0300 Subject: [PATCH 27/38] MAINT: sparse.linalg: fix docstring examples (warnings, deprecations) --- scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py | 2 +- scipy/sparse/linalg/_isolve/tfqmr.py | 2 +- tools/doctest_public_modules.py | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py b/scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py index 2e4cfc155675..6bf2a77106ab 100644 --- a/scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py +++ b/scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py @@ -400,7 +400,7 @@ def lobpcg( and ``largest=False`` parameter - >>> eigenvalues, _ = lobpcg(A, X, largest=False, maxiter=80) + >>> eigenvalues, _ = lobpcg(A, X, largest=False, maxiter=90) >>> print(eigenvalues) [1. 2. 3.] diff --git a/scipy/sparse/linalg/_isolve/tfqmr.py b/scipy/sparse/linalg/_isolve/tfqmr.py index c8d0231c51bb..3747aee9dde7 100644 --- a/scipy/sparse/linalg/_isolve/tfqmr.py +++ b/scipy/sparse/linalg/_isolve/tfqmr.py @@ -94,7 +94,7 @@ def tfqmr(A, b, x0=None, *, tol=_NoValue, maxiter=None, M=None, >>> from scipy.sparse.linalg import tfqmr >>> A = csc_matrix([[3, 2, 0], [1, -1, 0], [0, 5, 1]], dtype=float) >>> b = np.array([2, 4, -1], dtype=float) - >>> x, exitCode = tfqmr(A, b) + >>> x, exitCode = tfqmr(A, b, atol=0.0) >>> print(exitCode) # 0 indicates successful convergence 0 >>> np.allclose(A.dot(x), b) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index f3507358decf..6481ccdccb6c 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -91,6 +91,8 @@ def warnings_errors_and_rng(test): # additional one-off warnings to filter dct = { + 'scipy.sparse.linalg.norm': + dict(category=UserWarning, message="Exited at iteration"), 'scipy.stats.anderson_ksamp': dict(category=UserWarning, message='p-value capped:'), 'scipy.special.ellip_normal': From ff6dbd03808bfd6a758163d6f9470df3e1a4c5ac Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 13:56:02 +0300 Subject: [PATCH 28/38] DOC: sparse.csgraph: bump lobpcg tolerance to 1e-2 --- scipy/sparse/csgraph/_laplacian.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scipy/sparse/csgraph/_laplacian.py b/scipy/sparse/csgraph/_laplacian.py index 9c3d1f7972d7..8a50cd491069 100644 --- a/scipy/sparse/csgraph/_laplacian.py +++ b/scipy/sparse/csgraph/_laplacian.py @@ -315,7 +315,7 @@ def laplacian( >>> for cut in ["max", "min"]: ... G = -G # 1. ... L = csgraph.laplacian(G, symmetrized=True, form="lo") # 2. - ... _, eves = lobpcg(L, X, Y=Y, largest=False, tol=1e-3) # 3. + ... _, eves = lobpcg(L, X, Y=Y, largest=False, tol=1e-2) # 3. ... eves *= np.sign(eves[0, 0]) # 4. ... print(cut + "-cut labels:\\n", 1 * (eves[:, 0]>0)) # 5. max-cut labels: From 07a56acdd8e8bdc911a99f047f3fc2e1be481f50 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 14:20:52 +0300 Subject: [PATCH 29/38] MAINT: special: make docstrings raw for TeX --- scipy/special/_add_newdocs.py | 42 ++++++++++++++++----------------- tools/doctest_public_modules.py | 1 + 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/scipy/special/_add_newdocs.py b/scipy/special/_add_newdocs.py index 958f48b61e45..293eed8b5ba5 100644 --- a/scipy/special/_add_newdocs.py +++ b/scipy/special/_add_newdocs.py @@ -6097,7 +6097,7 @@ def add_newdoc(name, doc): >>> for parameter_set in parameters_list: ... a, b, style = parameter_set ... gdtr_vals = gdtr(a, b, x) - ... ax.plot(x, gdtr_vals, label=f"$a= {a},\, b={b}$", ls=style) + ... ax.plot(x, gdtr_vals, label=fr"$a= {a},\, b={b}$", ls=style) >>> ax.legend() >>> ax.set_xlabel("$x$") >>> ax.set_title("Gamma distribution cumulative distribution function") @@ -6216,7 +6216,7 @@ def add_newdoc(name, doc): >>> for parameter_set in parameters_list: ... a, b, style = parameter_set ... gdtrc_vals = gdtrc(a, b, x) - ... ax.plot(x, gdtrc_vals, label=f"$a= {a},\, b={b}$", ls=style) + ... ax.plot(x, gdtrc_vals, label=fr"$a= {a},\, b={b}$", ls=style) >>> ax.legend() >>> ax.set_xlabel("$x$") >>> ax.set_title("Gamma distribution survival function") @@ -6731,10 +6731,10 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> combined_plot_parameters = list(zip(deltas, linestyles)) >>> for delta, style in combined_plot_parameters: - ... ax.plot(x, huber(delta, x), label=f"$\delta={delta}$", ls=style) + ... ax.plot(x, huber(delta, x), label=fr"$\delta={delta}$", ls=style) >>> ax.legend(loc="upper center") >>> ax.set_xlabel("$x$") - >>> ax.set_title("Huber loss function $h_{\delta}(x)$") + >>> ax.set_title(r"Huber loss function $h_{\delta}(x)$") >>> ax.set_xlim(-4, 4) >>> ax.set_ylim(0, 8) >>> plt.show() @@ -7598,10 +7598,10 @@ def add_newdoc(name, doc): >>> x = np.linspace(-10, 10, 500) >>> apt, bpt, ant, bnt = itairy(x) >>> fig, ax = plt.subplots(figsize=(6, 5)) - >>> ax.plot(x, apt, label="$\int_0^x\, Ai(t)\, dt$") - >>> ax.plot(x, bpt, ls="dashed", label="$\int_0^x\, Bi(t)\, dt$") - >>> ax.plot(x, ant, ls="dashdot", label="$\int_0^x\, Ai(-t)\, dt$") - >>> ax.plot(x, bnt, ls="dotted", label="$\int_0^x\, Bi(-t)\, dt$") + >>> ax.plot(x, apt, label=r"$\int_0^x\, Ai(t)\, dt$") + >>> ax.plot(x, bpt, ls="dashed", label=r"$\int_0^x\, Bi(t)\, dt$") + >>> ax.plot(x, ant, ls="dashdot", label=r"$\int_0^x\, Ai(-t)\, dt$") + >>> ax.plot(x, bnt, ls="dotted", label=r"$\int_0^x\, Bi(-t)\, dt$") >>> ax.set_ylim(-2, 1.5) >>> ax.legend(loc="lower right") >>> plt.show() @@ -7665,8 +7665,8 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> x = np.linspace(0., 5., 1000) >>> int_i, int_k = iti0k0(x) - >>> ax.plot(x, int_i, label="$\int_0^x I_0(t)\,dt$") - >>> ax.plot(x, int_k, label="$\int_0^x K_0(t)\,dt$") + >>> ax.plot(x, int_i, label=r"$\int_0^x I_0(t)\,dt$") + >>> ax.plot(x, int_k, label=r"$\int_0^x K_0(t)\,dt$") >>> ax.legend() >>> plt.show() """) @@ -7729,8 +7729,8 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> x = np.linspace(0., 10., 1000) >>> int_j, int_y = itj0y0(x) - >>> ax.plot(x, int_j, label="$\int_0^x J_0(t)\,dt$") - >>> ax.plot(x, int_y, label="$\int_0^x Y_0(t)\,dt$") + >>> ax.plot(x, int_j, label=r"$\int_0^x J_0(t)\,dt$") + >>> ax.plot(x, int_y, label=r"$\int_0^x Y_0(t)\,dt$") >>> ax.legend() >>> plt.show() @@ -8080,7 +8080,7 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> x = np.linspace(-5., 5., 1000) >>> for i in range(4): - ... ax.plot(x, ive(i, x), label=f'$I_{i!r}(z)\cdot e^{{-|z|}}$') + ... ax.plot(x, ive(i, x), label=fr'$I_{i!r}(z)\cdot e^{{-|z|}}$') >>> ax.legend() >>> ax.set_xlabel(r"$z$") >>> plt.show() @@ -9346,7 +9346,7 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> x = np.linspace(0., 5., 1000) >>> for i in range(4): - ... ax.plot(x, kve(i, x), label=f'$K_{i!r}(z)\cdot e^z$') + ... ax.plot(x, kve(i, x), label=fr'$K_{i!r}(z)\cdot e^z$') >>> ax.legend() >>> ax.set_xlabel(r"$z$") >>> ax.set_ylim(0, 4) @@ -11062,7 +11062,7 @@ def add_newdoc(name, doc): >>> x = np.linspace(-5, 5, 100) >>> fig, ax = plt.subplots() >>> ax.plot(x, ndtr(x)) - >>> ax.set_title("Standard normal cumulative distribution function $\Phi$") + >>> ax.set_title(r"Standard normal cumulative distribution function $\Phi$") >>> plt.show() """) @@ -12174,11 +12174,11 @@ def add_newdoc(name, doc): >>> fig, ax = plt.subplots() >>> combined_plot_parameters = list(zip(deltas, linestyles)) >>> for delta, style in combined_plot_parameters: - ... ax.plot(x, pseudo_huber(delta, x), label=f"$\delta={delta}$", + ... ax.plot(x, pseudo_huber(delta, x), label=rf"$\delta={delta}$", ... ls=style) >>> ax.legend(loc="upper center") >>> ax.set_xlabel("$x$") - >>> ax.set_title("Pseudo-Huber loss function $h_{\delta}(x)$") + >>> ax.set_title(r"Pseudo-Huber loss function $h_{\delta}(x)$") >>> ax.set_xlim(-4, 4) >>> ax.set_ylim(0, 8) >>> plt.show() @@ -13451,9 +13451,9 @@ def add_newdoc(name, doc): >>> x = np.linspace(-12, 12, 500) >>> for k, lmbda in enumerate([-1.0, -0.5, 0.0]): ... y = tklmbda(x, lmbda) - ... ax.plot(x, y, styles[k], label=f'$\lambda$ = {lmbda:-4.1f}') + ... ax.plot(x, y, styles[k], label=rf'$\lambda$ = {lmbda:-4.1f}') - >>> ax.set_title('tklmbda(x, $\lambda$)') + >>> ax.set_title(r'tklmbda(x, $\lambda$)') >>> ax.set_label('x') >>> ax.legend(framealpha=1, shadow=True) >>> ax.grid(True) @@ -13466,13 +13466,13 @@ def add_newdoc(name, doc): >>> lmbdas = [0.25, 0.5, 1.0, 1.5] >>> for k, lmbda in enumerate(lmbdas): ... y = tklmbda(x, lmbda) - ... ax.plot(x, y, styles[k], label=f'$\lambda$ = {lmbda}') + ... ax.plot(x, y, styles[k], label=fr'$\lambda$ = {lmbda}') >>> ax.set_prop_cycle(None) >>> for lmbda in lmbdas: ... ax.plot([-1/lmbda, 1/lmbda], [0, 1], '.', ms=8) - >>> ax.set_title('tklmbda(x, $\lambda$)') + >>> ax.set_title(r'tklmbda(x, $\lambda$)') >>> ax.set_xlabel('x') >>> ax.legend(framealpha=1, shadow=True) >>> ax.grid(True) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 6481ccdccb6c..efd2ec17b486 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -145,6 +145,7 @@ def warnings_errors_and_rng(test): 'scipy.fftpack.fftshift', # fftpack stuff is also from numpy 'scipy.fftpack.ifftshift', 'scipy.fftpack.fftfreq', + 'scipy.special.sinc', # sinc is from numpy 'scipy.optimize.show_options', # does not have much to doctest 'scipy.signal.normalize', # manipulates warnings (XXX temp skip) ]) From b42d190d9407cd1a24b3d892da05a0661a2e22b2 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 15:00:24 +0300 Subject: [PATCH 30/38] MAINT: stats: allow warnings in several stats docstrings --- tools/doctest_public_modules.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index efd2ec17b486..c26c0e64a75b 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -89,12 +89,17 @@ def warnings_errors_and_rng(test): known_warnings[name] = dict(category=integrate.IntegrationWarning, message='The occurrence of roundoff') + # scipy.stats deliberately emits UserWarnings sometimes + user_w = ['scipy.stats.anderson_ksamp', 'scipy.stats.kurtosistest', + 'scipy.stats.normaltest'] + for name in user_w: + known_warnings[name] = dict(category=UserWarning) + + # additional one-off warnings to filter dct = { 'scipy.sparse.linalg.norm': dict(category=UserWarning, message="Exited at iteration"), - 'scipy.stats.anderson_ksamp': - dict(category=UserWarning, message='p-value capped:'), 'scipy.special.ellip_normal': dict(category=integrate.IntegrationWarning, message='The occurrence of roundoff'), @@ -109,6 +114,7 @@ def warnings_errors_and_rng(test): dict(message='The maximum number of subdivisions', category=integrate.IntegrationWarning), } + known_warnings.update(dct) # these legitimately emit warnings in examples from scipy.signal._filter_design import BadCoefficients @@ -126,7 +132,6 @@ def warnings_errors_and_rng(test): import numpy as np with _fixed_default_rng(): np.random.seed(None) - with warnings.catch_warnings(): if test.name in known_warnings: warnings.filterwarnings('ignore', **known_warnings[test.name]) From 10eed178928f14c07b13042d5aa6269a85e9558b Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 15:03:30 +0300 Subject: [PATCH 31/38] MAINT: special: remove duplicate filters --- tools/doctest_public_modules.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index c26c0e64a75b..cdc3ad042293 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -95,17 +95,10 @@ def warnings_errors_and_rng(test): for name in user_w: known_warnings[name] = dict(category=UserWarning) - # additional one-off warnings to filter dct = { 'scipy.sparse.linalg.norm': dict(category=UserWarning, message="Exited at iteration"), - 'scipy.special.ellip_normal': - dict(category=integrate.IntegrationWarning, - message='The occurrence of roundoff'), - 'scipy.special.ellip_harm_2': - dict(category=integrate.IntegrationWarning, - message='The occurrence of roundoff'), # tutorials 'linalg.rst': dict(message='the matrix subclass is not', From 3b363e01f8a2f9ef1e417c2a146130cb9c7703a9 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 15:08:50 +0300 Subject: [PATCH 32/38] MAINT: stats.qmc: add __all__ for the doctester --- scipy/stats/qmc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scipy/stats/qmc.py b/scipy/stats/qmc.py index 4f3c8182857b..48e56471ec46 100644 --- a/scipy/stats/qmc.py +++ b/scipy/stats/qmc.py @@ -233,3 +233,4 @@ """ from ._qmc import * # noqa: F403 +from ._qmc import __all__ # noqa: F403 From fdae089753f4dd0fbf759995c0f8277f4ab6daaf Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 15:13:46 +0300 Subject: [PATCH 33/38] MAINT: stats.sampling: add __all__ list for the doctester --- scipy/stats/sampling.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scipy/stats/sampling.py b/scipy/stats/sampling.py index a699221ba77b..12174d9dfb3c 100644 --- a/scipy/stats/sampling.py +++ b/scipy/stats/sampling.py @@ -66,3 +66,8 @@ SimpleRatioUniforms, UNURANError ) + +__all__ = ["NumericalInverseHermite", "NumericalInversePolynomial", + "TransformedDensityRejection", "SimpleRatioUniforms", + "RatioUniforms", "DiscreteAliasUrn", "DiscreteGuideTable", + "UNURANError", "FastGeneratorInversion"] From dbf0fa9e1cd73bade59d741360c9e761776a6316 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 15:43:12 +0300 Subject: [PATCH 34/38] TST: tutorial: fix examples in csgraph and integrate tutorials --- doc/source/tutorial/csgraph.rst | 3 ++- doc/source/tutorial/integrate.rst | 4 ++-- tools/doctest_public_modules.py | 18 +++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/doc/source/tutorial/csgraph.rst b/doc/source/tutorial/csgraph.rst index ca0700204e0c..1ac9f4da8d4b 100644 --- a/doc/source/tutorial/csgraph.rst +++ b/doc/source/tutorial/csgraph.rst @@ -35,7 +35,8 @@ first create this list. The system word lists consist of a file with one word per line. The following should be modified to use the particular word list you have available:: - >>> word_list = open('/usr/share/dict/words').readlines() + >>> with open('/usr/share/dict/words') as f: + ... word_list = f.readlines() >>> word_list = map(str.strip, word_list) We want to look at words of length 3, so let's select just those words of the diff --git a/doc/source/tutorial/integrate.rst b/doc/source/tutorial/integrate.rst index 5c9486a8ae10..f6d5965a59e7 100644 --- a/doc/source/tutorial/integrate.rst +++ b/doc/source/tutorial/integrate.rst @@ -317,7 +317,7 @@ of order 2 or less. >>> x = np.array([1,3,4]) >>> y1 = f1(x) >>> from scipy import integrate ->>> I1 = integrate.simpson(y1, x) +>>> I1 = integrate.simpson(y1, x=x) >>> print(I1) 21.0 @@ -331,7 +331,7 @@ This corresponds exactly to whereas integrating the second function >>> y2 = f2(x) ->>> I2 = integrate.simpson(y2, x) +>>> I2 = integrate.simpson(y2, x=x) >>> print(I2) 61.5 diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index cdc3ad042293..01bd36028d4b 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -193,13 +193,14 @@ def doctest_single_file(fname, verbose, fail_fast): def doctest_tutorial(verbose, fail_fast): base_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') tut_path = os.path.join(base_dir, 'doc', 'source', 'tutorial', '*.rst') + tut_path2 = os.path.join(base_dir, 'doc', 'source', 'tutorial', '*', '*.rst') sys.stderr.write('\nChecking tutorial files at %s:\n' % os.path.relpath(tut_path, os.getcwd())) - tutorials = [f for f in sorted(glob.glob(tut_path))] + tutorials = [f for f in sorted(glob.glob(tut_path)) + sorted(glob.glob(tut_path2))] # XXX: cf https://github.com/ev-br/scpdt/issues/43 - tutorials = [f for f in tutorials if 'io.rst' not in f] + # tutorials = [f for f in tutorials if 'io.rst' not in f] # set up scipy-specific config config.pseudocode = set(['integrate.nquad(func,']) @@ -225,11 +226,14 @@ def main(args): verbose=args.verbose, fail_fast=args.fail_fast) else: - name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc - submodule_names = [name] if name else list(PUBLIC_SUBMODULES) - all_success = doctest_submodules(submodule_names, - verbose=args.verbose, - fail_fast=args.fail_fast) + all_success = True + # name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc + # submodule_names = [name] if name else list(PUBLIC_SUBMODULES) + # all_success = doctest_submodules(submodule_names, + # verbose=args.verbose, + # fail_fast=args.fail_fast) + + breakpoint() # if full run: also check the tutorial if not args.submodule: From a7c15d9b8c2e816a9733de9879a1952f909747f4 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Wed, 6 Jul 2022 23:22:57 +0300 Subject: [PATCH 35/38] DOC: doctest tutorial/io.rst The tweaks are: - the Octave version is different (somebody forgotten to check in regenerated files, in 2013) - the dict order is different, at least on python 3.8 --- doc/source/tutorial/io.rst | 26 +++++++++++++++----------- tools/doctest_public_modules.py | 11 +++++++---- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/doc/source/tutorial/io.rst b/doc/source/tutorial/io.rst index 1425b1407eb5..7c0977dfe7c7 100644 --- a/doc/source/tutorial/io.rst +++ b/doc/source/tutorial/io.rst @@ -85,13 +85,13 @@ Now, to Python: >>> mat_contents = sio.loadmat('octave_a.mat') >>> mat_contents - {'a': array([[[ 1., 4., 7., 10.], - [ 2., 5., 8., 11.], - [ 3., 6., 9., 12.]]]), + {'__header__': b'MATLAB 5.0 MAT-file, written + by Octave 3.2.3, 2010-05-30 02:13:40 UTC', '__version__': '1.0', - '__header__': 'MATLAB 5.0 MAT-file, written by - Octave 3.6.3, 2013-02-17 21:02:11 UTC', - '__globals__': []} + '__globals__': [], + 'a': array([[[ 1., 4., 7., 10.], + [ 2., 5., 8., 11.], + [ 3., 6., 9., 12.]]])} >>> oct_a = mat_contents['a'] >>> oct_a array([[[ 1., 4., 7., 10.], @@ -156,8 +156,12 @@ We can load this in Python: >>> mat_contents = sio.loadmat('octave_struct.mat') >>> mat_contents - {'my_struct': array([[([[1.0]], [[2.0]])]], - dtype=[('field1', 'O'), ('field2', 'O')]), '__version__': '1.0', '__header__': 'MATLAB 5.0 MAT-file, written by Octave 3.6.3, 2013-02-17 21:23:14 UTC', '__globals__': []} + {'__header__': b'MATLAB 5.0 MAT-file, written by Octave 3.2.3, 2010-05-30 02:00:26 UTC', + '__version__': '1.0', + '__globals__': [], + 'my_struct': array([[(array([[1.]]), array([[2.]]))]], dtype=[('field1', 'O'), ('field2', 'O')]) + } + >>> oct_struct = mat_contents['my_struct'] >>> oct_struct.shape (1, 1) @@ -214,7 +218,7 @@ this, use the ``struct_as_record=False`` parameter setting to ``loadmat``. File "", line 1, in AttributeError: 'mat_struct' object has no attribute 'shape' >>> type(oct_struct) - + >>> oct_struct.field1 1.0 @@ -287,12 +291,12 @@ Back to Python: Saving to a MATLAB cell array just involves making a NumPy object array: - >>> obj_arr = np.zeros((2,), dtype=np.object) + >>> obj_arr = np.zeros((2,), dtype=object) >>> obj_arr[0] = 1 >>> obj_arr[1] = 'a string' >>> obj_arr array([1, 'a string'], dtype=object) - >>> sio.savemat('np_cells.mat', {'obj_arr':obj_arr}) + >>> sio.savemat('np_cells.mat', {'obj_arr': obj_arr}) .. sourcecode:: octave diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 01bd36028d4b..67fdc359296b 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -197,14 +197,17 @@ def doctest_tutorial(verbose, fail_fast): sys.stderr.write('\nChecking tutorial files at %s:\n' % os.path.relpath(tut_path, os.getcwd())) - tutorials = [f for f in sorted(glob.glob(tut_path)) + sorted(glob.glob(tut_path2))] - - # XXX: cf https://github.com/ev-br/scpdt/issues/43 - # tutorials = [f for f in tutorials if 'io.rst' not in f] + tutorials = [ + f for f in sorted(glob.glob(tut_path)) + sorted(glob.glob(tut_path2)) + ] # set up scipy-specific config config.pseudocode = set(['integrate.nquad(func,']) + io_matfiles = glob.glob(os.path.join(tut_path.replace('.rst', '.mat'))) + config.local_resources = {'io.rst': io_matfiles} + + all_success = True for filename in tutorials: sys.stderr.write('\n' + filename + '\n') From d4daf0c63eade7a9961810943cc9f0e1007d7f34 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 17:12:44 +0300 Subject: [PATCH 36/38] ENH: doctest: recurse into tutorial subdirs; fix easy erorrs, skip the rest --- doc/source/tutorial/interpolate/1D.rst | 2 +- .../tutorial/interpolate/ND_regular_grid.rst | 5 ++-- .../tutorial/interpolate/ND_unstructured.rst | 5 ++-- .../interpolate/splines_and_polynomials.rst | 3 ++- .../tutorial/stats/continuous_kstwo.rst | 17 +++++++------- doc/source/tutorial/stats/resampling.rst | 8 +++---- doc/source/tutorial/stats/sampling.rst | 8 ++++--- doc/source/tutorial/stats/sampling_dau.rst | 8 +++---- doc/source/tutorial/stats/sampling_dgt.rst | 9 ++++---- doc/source/tutorial/stats/sampling_hinv.rst | 2 ++ doc/source/tutorial/stats/sampling_pinv.rst | 7 +++--- doc/source/tutorial/stats/sampling_srou.rst | 3 ++- doc/source/tutorial/stats/sampling_tdr.rst | 1 + tools/doctest_public_modules.py | 23 +++++++++++++------ 14 files changed, 61 insertions(+), 40 deletions(-) diff --git a/doc/source/tutorial/interpolate/1D.rst b/doc/source/tutorial/interpolate/1D.rst index 804736eb13b6..f30e755775bc 100644 --- a/doc/source/tutorial/interpolate/1D.rst +++ b/doc/source/tutorial/interpolate/1D.rst @@ -135,7 +135,7 @@ B-splines form an alternative (if formally equivalent) representation of piecewi >>> xx = np.linspace(0, 3/2, 51) >>> plt.plot(xx, bspl(xx), '--', label=r'$\sin(\pi x)$ approx') >>> plt.plot(x, y, 'o', label='data') - >>> plt.plot(xx, der(xx)/np.pi, '--', label='$d \sin(\pi x)/dx / \pi$ approx') + >>> plt.plot(xx, der(xx)/np.pi, '--', label=r'$d \sin(\pi x)/dx / \pi$ approx') >>> plt.legend() >>> plt.show() diff --git a/doc/source/tutorial/interpolate/ND_regular_grid.rst b/doc/source/tutorial/interpolate/ND_regular_grid.rst index 57b56d0c9a6f..c98e0e1a836a 100644 --- a/doc/source/tutorial/interpolate/ND_regular_grid.rst +++ b/doc/source/tutorial/interpolate/ND_regular_grid.rst @@ -20,6 +20,7 @@ using each method. .. plot:: + >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import RegularGridInterpolator @@ -90,8 +91,8 @@ controlled by the ``fill_value`` keyword parameter: >>> data = np.array([[0], [5], [10]]) >>> rgi = RegularGridInterpolator((x, y), data, ... bounds_error=False, fill_value=None) - >>> rgi([(2, 0), (2, 1), (2, -1)]) - array([2., 2., 2.])) # extrapolate the value on the axis + >>> rgi([(2, 0), (2, 1), (2, -1)]) # extrapolates the value on the axis + array([2., 2., 2.])) >>> rgi.fill_value = -101 >>> rgi([(2, 0), (2, 1), (2, -1)]) array([2., -101., -101.])) diff --git a/doc/source/tutorial/interpolate/ND_unstructured.rst b/doc/source/tutorial/interpolate/ND_unstructured.rst index 3d86e715cab5..a85d91cf8cdd 100644 --- a/doc/source/tutorial/interpolate/ND_unstructured.rst +++ b/doc/source/tutorial/interpolate/ND_unstructured.rst @@ -15,6 +15,7 @@ that do not form a regular grid. Suppose we want to interpolate the 2-D function + >>> import numpy as np >>> def func(x, y): ... return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2 @@ -114,7 +115,7 @@ classes from the `scipy.interpolate` module. >>> ius = InterpolatedUnivariateSpline(x, y) >>> yi = ius(xi) - >>> plt.subplot(2, 1, 1) + >>> plt.subplot(211) >>> plt.plot(x, y, 'bo') >>> plt.plot(xi, yi, 'g') >>> plt.plot(xi, np.sin(xi), 'r') @@ -124,7 +125,7 @@ classes from the `scipy.interpolate` module. >>> rbf = RBFInterpolator(x, y) >>> fi = rbf(xi) - >>> plt.subplot(2, 1, 2) + >>> plt.subplot(212) >>> plt.plot(x, y, 'bo') >>> plt.plot(xi, fi, 'g') >>> plt.plot(xi, np.sin(xi), 'r') diff --git a/doc/source/tutorial/interpolate/splines_and_polynomials.rst b/doc/source/tutorial/interpolate/splines_and_polynomials.rst index 6f21c5acc41b..f5318b4df2fc 100644 --- a/doc/source/tutorial/interpolate/splines_and_polynomials.rst +++ b/doc/source/tutorial/interpolate/splines_and_polynomials.rst @@ -51,6 +51,7 @@ Manipulating `PPoly` objects and antiderivatives, computing integrals and root-finding. For example, we tabulate the sine function and find the roots of its derivative. + >>> import numpy as np >>> from scipy.interpolate import CubicSpline >>> x = np.linspace(0, 10, 71) >>> y = np.sin(x) @@ -109,7 +110,7 @@ PCHIP interpolant (we could as well used a `CubicSpline`): >>> from scipy.interpolate import PchipInterpolator >>> x = np.linspace(0, np.pi/2, 70) - >>> y = (1 - m*np.sin(x)**2))**(-1/2) + >>> y = (1 - m*np.sin(x)**2)**(-1/2) >>> spl = PchipInterpolator(x, y) and integrate diff --git a/doc/source/tutorial/stats/continuous_kstwo.rst b/doc/source/tutorial/stats/continuous_kstwo.rst index 927be1360109..0660587ea450 100644 --- a/doc/source/tutorial/stats/continuous_kstwo.rst +++ b/doc/source/tutorial/stats/continuous_kstwo.rst @@ -35,6 +35,7 @@ with asymptotic estimates of Li-Chien, Pelz and Good to compute the CDF with 5-1 Examples -------- +>>> import numpy as np >>> from scipy.stats import kstwo Show the probability of a gap at least as big as 0, 0.5 and 1.0 for a sample of size 5 @@ -50,17 +51,17 @@ a target N(0, 1) CDF. >>> gendist = norm(0.5, 1) # Normal distribution, mean 0.5, stddev 1 >>> x = np.sort(gendist.rvs(size=n, random_state=np.random.default_rng())) >>> x -array([-1.59113056, -0.66335147, 0.54791569, 0.78009321, 1.27641365]) +array([-1.59113056, -0.66335147, 0.54791569, 0.78009321, 1.27641365]) # may vary >>> target = norm(0, 1) >>> cdfs = target.cdf(x) >>> cdfs -array([0.0557901 , 0.25355274, 0.7081251 , 0.78233199, 0.89909533]) -# Construct the Empirical CDF and the K-S statistics (Dn+, Dn-, Dn) +array([0.0557901 , 0.25355274, 0.7081251 , 0.78233199, 0.89909533]) # may vary +>>> # Construct the Empirical CDF and the K-S statistics (Dn+, Dn-, Dn) >>> ecdfs = np.arange(n+1, dtype=float)/n >>> cols = np.column_stack([x, ecdfs[1:], cdfs, cdfs - ecdfs[:n], ecdfs[1:] - cdfs]) >>> np.set_printoptions(precision=3) >>> cols -array([[-1.591, 0.2 , 0.056, 0.056, 0.144], +array([[-1.591, 0.2 , 0.056, 0.056, 0.144], # may vary [-0.663, 0.4 , 0.254, 0.054, 0.146], [ 0.548, 0.6 , 0.708, 0.308, -0.108], [ 0.78 , 0.8 , 0.782, 0.182, 0.018], @@ -70,17 +71,17 @@ array([[-1.591, 0.2 , 0.056, 0.056, 0.144], >>> Dn = np.max(Dnpm) >>> iminus, iplus = np.argmax(gaps, axis=0) >>> print('Dn- = %f (at x=%.2f)' % (Dnpm[0], x[iminus])) -Dn- = 0.308125 (at x=0.55) +Dn- = 0.246201 (at x=-0.14) >>> print('Dn+ = %f (at x=%.2f)' % (Dnpm[1], x[iplus])) -Dn+ = 0.146447 (at x=-0.66) +Dn+ = 0.224726 (at x=0.19) >>> print('Dn = %f' % (Dn)) -Dn = 0.308125 +Dn = 0.246201 >>> probs = kstwo.sf(Dn, n) >>> print(chr(10).join(['For a sample of size %d drawn from a N(0, 1) distribution:' % n, ... ' Kolmogorov-Smirnov 2-sided n=%d: Prob(Dn >= %f) = %.4f' % (n, Dn, probs)])) For a sample of size 5 drawn from a N(0, 1) distribution: - Kolmogorov-Smirnov 2-sided n=5: Prob(Dn >= 0.308125) = 0.6319 + Kolmogorov-Smirnov 2-sided n=5: Prob(Dn >= 0.246201) = 0.8562 Plot the Empirical CDF against the target N(0, 1) CDF diff --git a/doc/source/tutorial/stats/resampling.rst b/doc/source/tutorial/stats/resampling.rst index b9593b72dc9b..ad80a9e92e55 100644 --- a/doc/source/tutorial/stats/resampling.rst +++ b/doc/source/tutorial/stats/resampling.rst @@ -48,8 +48,8 @@ Your brother Kyle is the analytical one. He answers: >>> std = math.sqrt(n*p*(1-p)) >>> # CDF of the normal distribution. (Unfortunately, Kyle forgets a continuity correction that would produce a more accurate answer.) >>> prob = 0.5 * (1 + math.erf((x - mean) / (std * math.sqrt(2)))) - >>> print(f"The normal approximation estimates the probability as {prob}") - The normal approximation estimates the probability as 0.15865525393145713 + >>> print(f"The normal approximation estimates the probability as {prob:.3f}") + The normal approximation estimates the probability as 0.159 You are a little more practical, so you decide to take a computational approach (or more precisely, a Monte Carlo approach): just simulate many @@ -63,8 +63,8 @@ count does not exceed 45. >>> simulation = rng.random(size=(n, N)) < p # False for tails, True for heads >>> counts = np.sum(simulation, axis=0) # count the number of heads each trial >>> prob = np.sum(counts <= x) / N # estimate the probability as the observed proportion of cases in which the count did not exceed 45 - >>> print(f"The Monte Carlo approach estimates the probability as {prob}") - The Monte Carlo approach estimates the probability as 0.18348 + >>> print(f"The Monte Carlo approach estimates the probability as {prob:.3f}") + The Monte Carlo approach estimates the probability as 0.187 The demon replies: diff --git a/doc/source/tutorial/stats/sampling.rst b/doc/source/tutorial/stats/sampling.rst index a4e1e7f145e0..1635a980d0e6 100644 --- a/doc/source/tutorial/stats/sampling.rst +++ b/doc/source/tutorial/stats/sampling.rst @@ -147,7 +147,8 @@ An example of this interface is shown below: ... return -x * exp(-0.5 * x*x) ... >>> dist = StandardNormal() - >>> + >>> + >>> import numpy as np >>> urng = np.random.default_rng() >>> rng = TransformedDensityRejection(dist, random_state=urng) @@ -238,7 +239,8 @@ by visualizing the histogram of the samples: :class:`~TransformedDensityRejection` would not be the same even for the same ``random_state``: - >>> from scipy.stats.sampling import norm, TransformedDensityRejection + >>> from scipy.stats import norm + >>> from scipy.stats.sampling import TransformedDensityRejection >>> from copy import copy >>> dist = StandardNormal() >>> urng1 = np.random.default_rng() @@ -253,7 +255,7 @@ We can pass a ``domain`` parameter to truncate the distribution: >>> rng = TransformedDensityRejection(dist, domain=(-1, 1), random_state=urng) >>> rng.rvs((5, 3)) - array([[-0.99865691, 0.38104014, 0.31633526], + array([[-0.99865691, 0.38104014, 0.31633526], # may vary [ 0.88433909, -0.45181849, 0.78574461], [ 0.3337244 , 0.12924307, 0.40499404], [-0.51865761, 0.43252222, -0.6514866 ], diff --git a/doc/source/tutorial/stats/sampling_dau.rst b/doc/source/tutorial/stats/sampling_dau.rst index 354bc17b31fd..b233a7344011 100644 --- a/doc/source/tutorial/stats/sampling_dau.rst +++ b/doc/source/tutorial/stats/sampling_dau.rst @@ -26,7 +26,7 @@ constructing the tables is O(N). >>> urng = np.random.default_rng() >>> rng = DiscreteAliasUrn(pv, random_state=urng) >>> rng.rvs() - 0 + 0 # may vary By default, the probability vector is indexed starting at 0. However, this can be changed by passing a ``domain`` parameter. When ``domain`` is given @@ -36,7 +36,7 @@ distribution from ``(0, len(pv))`` to ``(domain[0]``, ``domain[0] + len(pv))``. >>> rng = DiscreteAliasUrn(pv, domain=(10, 13), random_state=urng) >>> rng.rvs() - 12 + 12 # may vary The method also works when no probability vector but a PMF is given. In that case, a bounded (finite) domain must also be given either by @@ -54,7 +54,7 @@ method in the distribution object: >>> dist = Distribution(2) >>> rng = DiscreteAliasUrn(dist, random_state=urng) >>> rng.rvs() - 10 + 10 # may vary .. plot:: :alt: " " @@ -114,7 +114,7 @@ table which can be changed by passing a ``urn_factor`` parameter. >>> urn_factor = 2 >>> rng = DiscreteAliasUrn(pv, urn_factor=urn_factor, random_state=urng) >>> rng.rvs() - 2 + 2 # may vary .. note:: It is recommended to keep this parameter under 2. diff --git a/doc/source/tutorial/stats/sampling_dgt.rst b/doc/source/tutorial/stats/sampling_dgt.rst index dc0853892c46..55adc576fa51 100644 --- a/doc/source/tutorial/stats/sampling_dgt.rst +++ b/doc/source/tutorial/stats/sampling_dgt.rst @@ -43,7 +43,7 @@ of the given probability vector can be set by the `guide_factor` parameter: >>> urng = np.random.default_rng() >>> rng = DiscreteGuideTable(pv, random_state=urng) >>> rng.rvs() - 2 + 2 # may vary By default, the probability vector is indexed starting at 0. However, this can be changed by passing a ``domain`` parameter. When ``domain`` is given @@ -53,7 +53,7 @@ distribution from ``(0, len(pv))`` to ``(domain[0], domain[0] + len(pv))``. >>> rng = DiscreteGuideTable(pv, random_state=urng, domain=(10, 13)) >>> rng.rvs() - 10 + 10 # may vary The method also works when no probability vector but a PMF is given. In that case, a bounded (finite) domain must also be given either by @@ -71,7 +71,7 @@ method in the distribution object: >>> dist = Distribution(2) >>> rng = DiscreteGuideTable(dist, random_state=urng) >>> rng.rvs() - 9 + 9 # may vary .. note:: As :class:`~DiscreteGuideTable` expects PMF with signature ``def pmf(self, x: float) -> float``, it first vectorizes the @@ -99,7 +99,7 @@ time but require a more expensive setup. >>> guide_factor = 2 >>> rng = DiscreteGuideTable(pv, random_state=urng, guide_factor=guide_factor) >>> rng.rvs() - 2 + 2 # may vary Unfortunately, the PPF is rarely available in closed form or too slow when available. The user only has to provide the probability vector and the @@ -109,6 +109,7 @@ method calculates the (exact) PPF of the given distribution. For example to calculate the PPF of a binomial distribution with :math:`n=4` and :math:`p=0.1`: we can set up a guide table as follows: + >>> import scipy.stats as stats >>> n, p = 4, 0.1 >>> dist = stats.binom(n, p) >>> rng = DiscreteGuideTable(dist, random_state=42) diff --git a/doc/source/tutorial/stats/sampling_hinv.rst b/doc/source/tutorial/stats/sampling_hinv.rst index 36e70aa04e45..dc07ac70010a 100644 --- a/doc/source/tutorial/stats/sampling_hinv.rst +++ b/doc/source/tutorial/stats/sampling_hinv.rst @@ -57,6 +57,7 @@ below the specified tolerance `u_resolution`. Refinement stops when the required tolerance is achieved or when the number of mesh intervals after the next refinement could exceed the maximum allowed number of intervals (100000). + >>> import numpy as np >>> from scipy.stats.sampling import NumericalInverseHermite >>> from scipy.stats import norm, genexpon >>> from scipy.special import ndtr @@ -97,6 +98,7 @@ the same random state. To check that the random variates closely follow the given distribution, we can look at its histogram: + >>> import matplotlib.pyplot as plt >>> dist = StandardNormal() >>> urng = np.random.default_rng() >>> rng = NumericalInverseHermite(dist, random_state=urng) diff --git a/doc/source/tutorial/stats/sampling_pinv.rst b/doc/source/tutorial/stats/sampling_pinv.rst index df4b28c7cad7..cfce82a788c6 100644 --- a/doc/source/tutorial/stats/sampling_pinv.rst +++ b/doc/source/tutorial/stats/sampling_pinv.rst @@ -97,6 +97,7 @@ Following four steps are carried out by the algorithm during setup: To initialize the generator to sample from a standard normal distribution, do: + >>> import numpy as np >>> from scipy.stats.sampling import NumericalInversePolynomial >>> class StandardNormal: ... def pdf(self, x): @@ -173,7 +174,7 @@ PDF evaluations increase during setup for small values of ``u_resolution``. >>> rng = NumericalInversePolynomial(dist, u_resolution=1e-8, ... random_state=urng) >>> dist.callbacks - 4095 + 4095 # may vary >>> dist.callbacks = 0 # reset the number of callbacks >>> # u_resolution = 10^-10 (default) >>> # => more PDF evaluations required @@ -181,14 +182,14 @@ PDF evaluations increase during setup for small values of ``u_resolution``. >>> rng = NumericalInversePolynomial(dist, u_resolution=1e-10, ... random_state=urng) >>> dist.callbacks - 11454 + 11454 # may vary >>> dist.callbacks = 0 # reset the number of callbacks >>> # u_resolution = 10^-12 >>> # => lots of PDF evaluations required >>> # => very slow setup >>> rng = NumericalInversePolynomial(dist, u_resolution=1e-12, ... random_state=urng) - 13902 + 13902 # may vary As we can see, the number of PDF evaluations required is very high and a fast PDF is critical to the algorithm. Though, this helps reduce the number diff --git a/doc/source/tutorial/stats/sampling_srou.rst b/doc/source/tutorial/stats/sampling_srou.rst index f9e0640213eb..ec74a6ba9421 100644 --- a/doc/source/tutorial/stats/sampling_srou.rst +++ b/doc/source/tutorial/stats/sampling_srou.rst @@ -15,6 +15,7 @@ Simple Ratio-of-Uniforms (SROU) SROU is based on the ratio-of-uniforms method that uses universal inequalities for constructing a (universal) bounding rectangle. It works for T-concave distributions with T(x) = -1/sqrt(x). + >>> import numpy as np >>> from scipy.stats.sampling import SimpleRatioUniforms Suppose we have the normal distribution: @@ -101,7 +102,7 @@ given by `np.arange(1.5, 5, 1000)`. ... rng = SimpleRatioUniforms(dist, mode=p[i]-1, ... pdf_area=math.gamma(p[i]), ... random_state=urng) - ... with np.suppress_warnings() as sup: + ... with np.testing.suppress_warnings() as sup: ... sup.filter(RuntimeWarning, "invalid value encountered in double_scalars") ... sup.filter(RuntimeWarning, "overflow encountered in exp") ... res[i] = rng.rvs(100) diff --git a/doc/source/tutorial/stats/sampling_tdr.rst b/doc/source/tutorial/stats/sampling_tdr.rst index 7351ce3b175b..988882ea146e 100644 --- a/doc/source/tutorial/stats/sampling_tdr.rst +++ b/doc/source/tutorial/stats/sampling_tdr.rst @@ -30,6 +30,7 @@ The variant that is implemented uses squeezes proportional to hat function ([1]_ An example of using this method is shown below: + >>> import numpy as np >>> from scipy.stats.sampling import TransformedDensityRejection >>> from scipy.stats import norm >>> diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index 67fdc359296b..bad9a7a47ca9 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -207,12 +207,23 @@ def doctest_tutorial(verbose, fail_fast): io_matfiles = glob.glob(os.path.join(tut_path.replace('.rst', '.mat'))) config.local_resources = {'io.rst': io_matfiles} + skip_these = [ + 'sampling_srou', 'sampling_pinv', # various failures + 'ND_regular_grid', # needs rst parser + 'ND_unstructured', + 'extrapolation_examples' + ] all_success = True for filename in tutorials: sys.stderr.write('\n' + filename + '\n') sys.stderr.write("="*len(filename) + '\n') + # XXX: temporary skips + if any(s in filename for s in skip_these): + sys.stderr.write("SKIPPED\n") + continue + result, history = testfile(filename, module_relative=False, verbose=verbose, raise_on_error=fail_fast, report=True, config=config) @@ -230,13 +241,11 @@ def main(args): fail_fast=args.fail_fast) else: all_success = True - # name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc - # submodule_names = [name] if name else list(PUBLIC_SUBMODULES) - # all_success = doctest_submodules(submodule_names, - # verbose=args.verbose, - # fail_fast=args.fail_fast) - - breakpoint() + name = args.submodule # XXX : dance w/ subsubmodules : cluster.vq etc + submodule_names = [name] if name else list(PUBLIC_SUBMODULES) + all_success = doctest_submodules(submodule_names, + verbose=args.verbose, + fail_fast=args.fail_fast) # if full run: also check the tutorial if not args.submodule: From 059bfb47a62c01027cccc4a02a7e7cb436fea5ce Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 17:26:02 +0300 Subject: [PATCH 37/38] CI: add a CI run on Circle --- .circleci/config.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 915301bc8b94..d69dd2ca5c29 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -174,6 +174,25 @@ jobs: export PYTHONPATH=$PWD/build-install/lib/python3.11/site-packages python dev.py --no-build refguide-check +# Reference guide checking + refguide_check_ng: + <<: *defaults + steps: + - attach_workspace: + at: ~/ + + - check-skip + - apt-install + + - run: + name: refguide_check_ng + no_output_timeout: 25m + command: | + sudo apt-get install -y wamerican-small + export PYTHONPATH=$PWD/build-install/lib/python3.11/site-packages + python dev.py --no-build doctest + + # Upload build output to scipy/devdocs repository, using SSH deploy keys. # The keys are only available for builds on main branch. # https://developer.github.com/guides/managing-deploy-keys/ From 1f2a95155e1503a17de5155a3374069e486a2df5 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sat, 17 Feb 2024 17:35:49 +0300 Subject: [PATCH 38/38] CI: run doctests on GH actions & CircleCI --- .github/workflows/linux_meson.yml | 7 + dev.py | 2 +- refguide-check.log | 418 +++++++++++++++--------------- tools/doctest_public_modules.py | 2 +- 4 files changed, 222 insertions(+), 207 deletions(-) diff --git a/.github/workflows/linux_meson.yml b/.github/workflows/linux_meson.yml index b9aa23e5c9e2..d6c1a1355851 100644 --- a/.github/workflows/linux_meson.yml +++ b/.github/workflows/linux_meson.yml @@ -123,6 +123,13 @@ jobs: python -u dev.py mypy + - name: doctest_ng + run: | + sudo apt-get install -y wamerican-small threadpoolctl + python -m pip install git+https://github.com/ev-br/scpdt.git + python -m pip install matplotlib + python dev.py doctest + - name: Test SciPy run: | export OMP_NUM_THREADS=2 diff --git a/dev.py b/dev.py index c80f974a54de..ce347ecb9c79 100644 --- a/dev.py +++ b/dev.py @@ -1124,7 +1124,7 @@ def task_meta(cls, **kwargs): str(dirs.root / 'tools' / 'doctest_public_modules.py'), ] if args.verbose: - cmd += ['-vvv'] + cmd += ['-vv'] if args.filename: cmd += ['-t', args.filename] if args.submodule: diff --git a/refguide-check.log b/refguide-check.log index 4007af7c26fa..d2c047e64454 100644 --- a/refguide-check.log +++ b/refguide-check.log @@ -16,6 +16,7 @@ DisjointSet.add DisjointSet.connected DisjointSet.merge DisjointSet.subset +DisjointSet.subset_size DisjointSet.subsets average centroid @@ -187,6 +188,10 @@ precision proton_mass psi pt +quecto +quetta +ronna +ronto short_ton sigma slinch @@ -215,6 +220,13 @@ zebi zepto zero_Celsius zetta +scipy.datasets +============== +ascent +electrocardiogram +face +download_all +clear_cache scipy.fft ========= fft @@ -235,10 +247,6 @@ hfft2 ihfft2 hfftn ihfftn -fftfreq -rfftfreq -fftshift -ifftshift next_fast_len dct idct @@ -277,10 +285,7 @@ cs_diff cc_diff ss_diff shift -fftfreq rfftfreq -fftshift -ifftshift next_fast_len dct idct @@ -303,6 +308,7 @@ DenseOutput DenseOutput.__call__ IntegrationWarning LSODA +ODEintWarning OdeSolution OdeSolution.__call__ OdeSolver @@ -317,6 +323,7 @@ complex_ode.set_initial_value complex_ode.set_integrator complex_ode.set_solout cumtrapz +cumulative_simpson cumulative_trapezoid dblquad fixed_quad @@ -332,17 +339,15 @@ ode.set_jac_params ode.set_solout ode.successful odeint +qmc_quad quad quad_vec -quadrature romb -romberg simps simpson solve_bvp solve_ivp tplquad -trapezoid trapz scipy.interpolate ================= @@ -370,11 +375,13 @@ BSpline.tck BarycentricInterpolator BarycentricInterpolator.__call__ BarycentricInterpolator.add_xi +BarycentricInterpolator.derivative BarycentricInterpolator.set_yi BivariateSpline BivariateSpline.ev BivariateSpline.integral CloughTocher2DInterpolator +CloughTocher2DInterpolator._set_values CubicHermiteSpline CubicSpline CubicSpline._validate_bc @@ -384,6 +391,9 @@ LSQBivariateSpline LSQSphereBivariateSpline LSQUnivariateSpline LinearNDInterpolator +NdBSpline +NdBSpline.__call__ +NdBSpline.design_matrix NdPPoly NdPPoly.__call__ NdPPoly._antiderivative_inplace @@ -445,6 +455,7 @@ krogh_interpolate lagrange make_interp_spline make_lsq_spline +make_smoothing_spline pade pchip_interpolate spalde @@ -516,7 +527,6 @@ read write scipy.linalg ============ -LinAlgError LinAlgWarning bandwidth block_diag @@ -615,9 +625,6 @@ svdvals tanhm tanm toeplitz -tri -tril -triu scipy.linalg.blas ================= get_blas_funcs @@ -640,11 +647,6 @@ seed svd scipy.misc ========== -central_diff_weights -derivative -ascent -face -electrocardiogram scipy.ndimage ============= affine_transform @@ -716,6 +718,7 @@ sum sum_labels uniform_filter uniform_filter1d +value_indices variance watershed_ift white_tophat @@ -756,11 +759,13 @@ BFGS._update_hessian BFGS._update_inverse_hessian Bounds Bounds.residual +BroydenFirst HessianUpdateStrategy HessianUpdateStrategy.dot HessianUpdateStrategy.get_matrix HessianUpdateStrategy.initialize HessianUpdateStrategy.update +KrylovJacobian LbfgsInvHessProduct LbfgsInvHessProduct.__init__ LbfgsInvHessProduct._matvec @@ -802,6 +807,7 @@ fmin_tnc fminbound fsolve golden +isotonic_regression least_squares leastsq line_search @@ -832,6 +838,49 @@ BadCoefficients CZT CZT.__call__ CZT.points +ShortTimeFFT +ShortTimeFFT.T +ShortTimeFFT._fft_func +ShortTimeFFT._ifft_func +ShortTimeFFT._post_padding +ShortTimeFFT._pre_padding +ShortTimeFFT._x_slices +ShortTimeFFT.delta_f +ShortTimeFFT.delta_t +ShortTimeFFT.dual_win +ShortTimeFFT.extent +ShortTimeFFT.f +ShortTimeFFT.f_pts +ShortTimeFFT.fac_magnitude +ShortTimeFFT.fac_psd +ShortTimeFFT.fft_mode +ShortTimeFFT.from_dual +ShortTimeFFT.from_window +ShortTimeFFT.fs +ShortTimeFFT.hop +ShortTimeFFT.invertible +ShortTimeFFT.istft +ShortTimeFFT.k_max +ShortTimeFFT.k_min +ShortTimeFFT.lower_border_end +ShortTimeFFT.m_num +ShortTimeFFT.m_num_mid +ShortTimeFFT.mfft +ShortTimeFFT.nearest_k_p +ShortTimeFFT.onesided_fft +ShortTimeFFT.p_max +ShortTimeFFT.p_min +ShortTimeFFT.p_num +ShortTimeFFT.p_range +ShortTimeFFT.phase_shift +ShortTimeFFT.scale_to +ShortTimeFFT.scaling +ShortTimeFFT.spectrogram +ShortTimeFFT.stft +ShortTimeFFT.stft_detrend +ShortTimeFFT.t +ShortTimeFFT.upper_border_begin +ShortTimeFFT.win StateSpace StateSpace.A StateSpace.B @@ -878,18 +927,11 @@ argrelextrema argrelmax argrelmin band_stop_obj -barthann -bartlett bessel besselap bilinear bilinear_zpk -blackman -blackmanharris bode -bohman -boxcar -bspline buttap butter buttord @@ -898,14 +940,12 @@ cheb1ap cheb1ord cheb2ap cheb2ord -chebwin cheby1 cheby2 check_COLA check_NOLA chirp choose_conv_method -cmplx_sort coherence cont2discrete convolve @@ -913,12 +953,10 @@ convolve2d correlate correlate2d correlation_lags -cosine csd cspline1d cspline1d_eval cspline2d -cubic cwt czt czt_points @@ -943,7 +981,6 @@ dstep ellip ellipap ellipord -exponential fftconvolve filtfilt find_peaks @@ -952,7 +989,6 @@ findfreqs firls firwin firwin2 -flattop freqresp freqs freqs_zpk @@ -960,13 +996,9 @@ freqz freqz_zpk gammatone gauss_spline -gaussian gausspulse -general_gaussian get_window group_delay -hamming -hann hilbert hilbert2 iircomb @@ -975,11 +1007,9 @@ iirfilter iirnotch iirpeak impulse -impulse2 invres invresz istft -kaiser kaiser_atten kaiser_beta kaiserord @@ -996,7 +1026,6 @@ lp2hp_zpk lp2lp lp2lp_zpk lsim -lsim2 lti lti.__init__ lti.__new__ @@ -1013,10 +1042,8 @@ minimum_phase morlet morlet2 normalize -nuttall oaconvolve order_filter -parzen peak_prominences peak_widths periodogram @@ -1025,7 +1052,6 @@ qmf qspline1d qspline1d_eval qspline2d -quadratic remez resample resample_poly @@ -1048,7 +1074,6 @@ square ss2tf ss2zpk step -step2 stft sweep_poly symiirorder1 @@ -1056,8 +1081,6 @@ symiirorder2 tf2sos tf2ss tf2zpk -triang -tukey unique_roots unit_impulse upfirdn @@ -1095,92 +1118,30 @@ tukey taylor get_window dpss +lanczos scipy.sparse ============ +block_array block_diag bmat bsr_array bsr_matrix -bsr_matrix._binopt -bsr_matrix._with_data -bsr_matrix.check_format -bsr_matrix.diagonal -bsr_matrix.eliminate_zeros -bsr_matrix.getnnz -bsr_matrix.prune -bsr_matrix.sort_indices -bsr_matrix.sum_duplicates -bsr_matrix.toarray -bsr_matrix.tobsr -bsr_matrix.tocoo -bsr_matrix.tocsc -bsr_matrix.tocsr -bsr_matrix.transpose coo_array coo_matrix -coo_matrix._check -coo_matrix._with_data -coo_matrix.diagonal -coo_matrix.eliminate_zeros -coo_matrix.getnnz -coo_matrix.reshape -coo_matrix.resize -coo_matrix.sum_duplicates -coo_matrix.toarray -coo_matrix.tocoo -coo_matrix.tocsc -coo_matrix.tocsr -coo_matrix.todia -coo_matrix.todok -coo_matrix.transpose csc_array csc_matrix -csc_matrix._swap -csc_matrix.getcol -csc_matrix.getrow -csc_matrix.nonzero -csc_matrix.tocsc -csc_matrix.tocsr -csc_matrix.transpose csr_array csr_matrix -csr_matrix._swap -csr_matrix.getcol -csr_matrix.getrow -csr_matrix.tobsr -csr_matrix.tocsc -csr_matrix.tocsr -csr_matrix.tolil -csr_matrix.transpose dia_array dia_matrix -dia_matrix._data_mask -dia_matrix._with_data -dia_matrix.count_nonzero -dia_matrix.diagonal -dia_matrix.getnnz -dia_matrix.resize -dia_matrix.sum -dia_matrix.tocoo -dia_matrix.tocsc -dia_matrix.todia -dia_matrix.transpose diags +diags_array dok_array dok_matrix -dok_matrix._update -dok_matrix.conjtransp -dok_matrix.copy -dok_matrix.count_nonzero -dok_matrix.get -dok_matrix.getnnz -dok_matrix.resize +dok_matrix.get_shape dok_matrix.shape -dok_matrix.tocoo -dok_matrix.tocsc -dok_matrix.todok -dok_matrix.transpose eye +eye_array find hstack identity @@ -1197,34 +1158,15 @@ kron kronsum lil_array lil_matrix -lil_matrix._get_row_ranges -lil_matrix.copy -lil_matrix.count_nonzero -lil_matrix.getnnz -lil_matrix.getrow -lil_matrix.getrowview -lil_matrix.reshape -lil_matrix.resize -lil_matrix.toarray -lil_matrix.tocsr -lil_matrix.tolil -lil_matrix.transpose load_npz rand random +random_array save_npz +sparray spdiags spmatrix -spmatrix._mul_dispatch -spmatrix.asformat spmatrix.asfptype -spmatrix.astype -spmatrix.conj -spmatrix.conjugate -spmatrix.copy -spmatrix.count_nonzero -spmatrix.diagonal -spmatrix.dot spmatrix.getH spmatrix.get_shape spmatrix.getcol @@ -1232,30 +1174,8 @@ spmatrix.getformat spmatrix.getmaxprint spmatrix.getnnz spmatrix.getrow -spmatrix.maximum -spmatrix.mean -spmatrix.minimum -spmatrix.multiply -spmatrix.nnz -spmatrix.nonzero -spmatrix.power -spmatrix.reshape -spmatrix.resize spmatrix.set_shape -spmatrix.setdiag spmatrix.shape -spmatrix.sum -spmatrix.toarray -spmatrix.tobsr -spmatrix.tocoo -spmatrix.tocsc -spmatrix.tocsr -spmatrix.todense -spmatrix.todia -spmatrix.todok -spmatrix.tolil -spmatrix.trace -spmatrix.transpose tril triu vstack @@ -1289,6 +1209,14 @@ scipy.sparse.linalg =================== ArpackError ArpackNoConvergence +LaplacianNd +LaplacianNd._eigenvalue_ordering +LaplacianNd._ev1d +LaplacianNd._one_eve +LaplacianNd.eigenvalues +LaplacianNd.eigenvectors +LaplacianNd.toarray +LaplacianNd.tosparse LinearOperator LinearOperator.H LinearOperator.T @@ -1297,6 +1225,7 @@ LinearOperator._adjoint LinearOperator._init_dtype LinearOperator._matmat LinearOperator._matvec +LinearOperator._rdot LinearOperator._rmatmat LinearOperator._rmatvec LinearOperator._transpose @@ -1326,6 +1255,7 @@ lgmres lobpcg lsmr lsqr +matrix_power minres norm onenormest @@ -1426,15 +1356,22 @@ yule scipy.spatial.transform ======================= Rotation +Rotation.__bool__ Rotation.__delitem__ Rotation.__getitem__ Rotation.__init__ Rotation.__len__ Rotation.__mul__ +Rotation.__pow__ Rotation.__rmul__ +Rotation.__rpow__ Rotation.__setitem__ +Rotation._as_euler_from_matrix +Rotation._compute_euler Rotation.align_vectors Rotation.apply +Rotation.approx_equal +Rotation.as_davenport Rotation.as_euler Rotation.as_matrix Rotation.as_mrp @@ -1442,6 +1379,7 @@ Rotation.as_quat Rotation.as_rotvec Rotation.concatenate Rotation.create_group +Rotation.from_davenport Rotation.from_euler Rotation.from_matrix Rotation.from_mrp @@ -1474,13 +1412,13 @@ berp besselpoly beta betainc +betaincc +betainccinv betaincinv betaln binom boxcox boxcox1p -btdtr -btdtri btdtria btdtrib cbrt @@ -1650,6 +1588,7 @@ pdtrc pdtri pdtrik poch +powm1 pro_ang1 pro_ang1_cv pro_cv @@ -1742,6 +1681,7 @@ polygamma pro_cv_seq riccati_jn riccati_yn +stirling2 y0_zeros y1_zeros y1p_zeros @@ -1810,10 +1750,32 @@ spherical_in spherical_kn scipy.stats =========== +BootstrapMethod +CensoredData +CensoredData.__len__ +CensoredData._supported +CensoredData._uncensor +CensoredData.interval_censored +CensoredData.left_censored +CensoredData.num_censored +CensoredData.right_censored ConstantInputWarning +Covariance +Covariance.colorize +Covariance.covariance +Covariance.from_cholesky +Covariance.from_diagonal +Covariance.from_eigendecomposition +Covariance.from_precision +Covariance.log_pdet +Covariance.rank +Covariance.shape +Covariance.whiten DegenerateDataWarning FitError +MonteCarloMethod NearConstantInputWarning +PermutationMethod alexandergovern alpha anderson @@ -1828,6 +1790,7 @@ bayes_mvs bernoulli beta betabinom +betanbinom betaprime binned_statistic binned_statistic_2d @@ -1845,6 +1808,7 @@ bradford brunnermunzel burr burr12 +bws_test cauchy chi chi2 @@ -1862,19 +1826,25 @@ cumfreq describe dgamma differential_entropy +directional_stats dirichlet +dirichlet_multinomial dlaplace +dunnett dweibull +ecdf energy_distance entropy epps_singleton_2samp erlang +expectile expon exponnorm exponpow exponweib f f_oneway +false_discovery_control fatiguelife find_repeats fisher_exact @@ -1894,6 +1864,7 @@ gaussian_kde.integrate_box_1d gaussian_kde.integrate_gaussian gaussian_kde.integrate_kde gaussian_kde.logpdf +gaussian_kde.marginal gaussian_kde.pdf gaussian_kde.resample gaussian_kde.scotts_factor @@ -1912,6 +1883,7 @@ geom gibrat gmean gompertz +goodness_of_fit gstd gumbel_l gumbel_r @@ -1929,6 +1901,7 @@ invweibull invwishart iqr jarque_bera +jf_skew_t johnsonsb johnsonsu kappa3 @@ -1954,6 +1927,7 @@ loggamma logistic loglaplace lognorm +logrank logser loguniform lomax @@ -1997,6 +1971,7 @@ planck pmean pointbiserialr poisson +poisson_means_test power_divergence powerlaw powerlognorm @@ -2004,20 +1979,26 @@ powernorm ppcc_max ppcc_plot probplot +quantile_test randint random_correlation +random_table rankdata ranksums rayleigh rdist recipinvgauss reciprocal +rel_breitwigner relfreq rice rv_continuous rv_continuous._attach_methods +rv_continuous._delta_cdf rv_continuous._fit_loc_scale_support rv_continuous._fitstart +rv_continuous._nnlf_and_penalty +rv_continuous._penalized_nnlf rv_continuous._reduce_func rv_continuous._updated_ctor_param rv_continuous.cdf @@ -2064,6 +2045,7 @@ skew skewcauchy skewnorm skewtest +sobol_indices somersd spearmanr special_ortho_group @@ -2082,6 +2064,7 @@ trim_mean trimboth truncexpon truncnorm +truncpareto truncweibull_min tsem tstd @@ -2093,12 +2076,15 @@ tukey_hsd tukeylambda tvar uniform +uniform_direction unitary_group variation vonmises +vonmises_fisher vonmises_line wald wasserstein_distance +wasserstein_distance_nd weibull_max weibull_min weightedtau @@ -2117,39 +2103,27 @@ zscore scipy.stats.mstats ================== argstoarray -brunnermunzel -chisquare -compare_medians_ms count_tied_groups describe f_oneway find_repeats friedmanchisquare -gmean -hdmedian -hdquantiles -hdquantiles_sd -hmean -idealfourths kendalltau kendalltau_seasonal kruskal kruskalwallis -ks_1samp -ks_2samp ks_twosamp -kstest +ks_2samp kurtosis kurtosistest +ks_1samp +kstest linregress mannwhitneyu -median_cihs meppf -mjci mode moment mquantiles -mquantiles_cimj msign normaltest obrientransform @@ -2157,37 +2131,50 @@ pearsonr plotting_positions pointbiserialr rankdata -rsh scoreatpercentile sem -siegelslopes +sen_seasonal_slopes skew skewtest spearmanr +siegelslopes theilslopes tmax tmean tmin trim -trima trimboth +trimtail +trima +trimr trimmed_mean -trimmed_mean_ci trimmed_std trimmed_stde trimmed_var -trimr -trimtail tsem ttest_1samp -ttest_ind ttest_onesamp +ttest_ind ttest_rel tvar variation winsorize +brunnermunzel +compare_medians_ms +hdquantiles +hdmedian +hdquantiles_sd +idealfourths +median_cihs +mjci +mquantiles_cimj +rsh +trimmed_mean_ci +gmean +hmean zmap zscore +chisquare scipy.stats.contingency ======================= margins @@ -2196,47 +2183,68 @@ chi2_contingency crosstab association relative_risk +odds_ratio scipy.stats.qmc =============== -Halton -Halton.random -LatinHypercube -LatinHypercube._random -LatinHypercube._random_cd -LatinHypercube._random_oa_lhs -LatinHypercube.random -MultinomialQMC -MultinomialQMC.random -MultivariateNormalQMC -MultivariateNormalQMC._standard_normal_samples -MultivariateNormalQMC.random -PoissonDisk -PoissonDisk._hypersphere_surface_sample -PoissonDisk._hypersphere_volume_sample -PoissonDisk._initialize_grid_pool -PoissonDisk.fill_space -PoissonDisk.random -PoissonDisk.reset +scale +discrepancy +geometric_discrepancy +update_discrepancy QMCEngine QMCEngine.fast_forward QMCEngine.integers QMCEngine.random QMCEngine.reset Sobol +Sobol._random Sobol._scramble Sobol.fast_forward -Sobol.random Sobol.random_base2 Sobol.reset -discrepancy -scale -update_discrepancy +Halton +Halton._initialize_permutations +Halton._random +LatinHypercube +LatinHypercube._random_lhs +LatinHypercube._random_oa_lhs +PoissonDisk +PoissonDisk._hypersphere_surface_sample +PoissonDisk._hypersphere_volume_sample +PoissonDisk._initialize_grid_pool +PoissonDisk._random +PoissonDisk.fill_space +PoissonDisk.reset +MultinomialQMC +MultinomialQMC.random +MultivariateNormalQMC +MultivariateNormalQMC._standard_normal_samples +MultivariateNormalQMC.random scipy.stats.sampling ==================== -DiscreteAliasUrn -DiscreteGuideTable NumericalInverseHermite +NumericalInverseHermite.ppf +NumericalInverseHermite.qrvs +NumericalInverseHermite.u_error NumericalInversePolynomial -SimpleRatioUniforms +NumericalInversePolynomial.cdf +NumericalInversePolynomial.ppf +NumericalInversePolynomial.qrvs +NumericalInversePolynomial.u_error TransformedDensityRejection +TransformedDensityRejection.ppf_hat +SimpleRatioUniforms +RatioUniforms +RatioUniforms.rvs +DiscreteAliasUrn +DiscreteGuideTable +DiscreteGuideTable.ppf UNURANError +FastGeneratorInversion +FastGeneratorInversion._cdf +FastGeneratorInversion._ppf +FastGeneratorInversion._set_domain_adj +FastGeneratorInversion.evaluate_error +FastGeneratorInversion.ppf +FastGeneratorInversion.qrvs +FastGeneratorInversion.rvs +FastGeneratorInversion.support diff --git a/tools/doctest_public_modules.py b/tools/doctest_public_modules.py index bad9a7a47ca9..01257f110b64 100644 --- a/tools/doctest_public_modules.py +++ b/tools/doctest_public_modules.py @@ -177,7 +177,7 @@ def doctest_submodules(module_names, verbose, fail_fast): LOGFILE.write(module_name + '\n') LOGFILE.write("="*len(module_name) + '\n') for entry in history: - LOGFILE.write(str(entry) + '\n') + LOGFILE.write(entry[len(module_name)+1:] + '\n') sys.stderr.write(str(result)) all_success = all_success and (result.failed == 0)