pub mod calculus;
pub mod complex;
pub mod curvefit;
pub mod error;
pub mod eval;
pub mod expr;
pub mod fft;
pub mod interpolate;
pub mod logit;
pub mod pchip;
pub mod stiff;
pub mod matrix;
pub mod numtheory;
pub mod optim;
pub mod bigint;
pub mod bspline;
pub mod autodiff;
pub mod ode;
pub mod parser;
pub mod plot;
pub mod repl;
pub mod simplify;
pub mod solver;
pub mod sparse;
pub mod special;
pub mod dists;
pub mod stats;
pub mod symbolic;
pub mod taylor;
pub mod laurent;
pub mod rational;
pub mod fastmath;
pub mod notebook;
pub mod server;
pub mod mathml;
pub mod serialize;
pub mod interval;
pub mod bigdec;
pub mod limit;
pub mod poly;
pub mod apart;
pub use error::{MathError, Result};
pub mod prelude {
pub use crate::complex::Complex;
pub use crate::error::{MathError, Result};
pub use crate::eval::{eval, eval_str, Context, Func};
pub use crate::expr::Expr;
pub use crate::parser::Parser;
pub use crate::simplify::simplify;
pub use crate::matrix::{Cholesky, EigenPair, Lu, Matrix, PowerIterOptions, Svd};
pub use crate::interpolate::{
chebyshev_coefficients, chebyshev_eval, chebyshev_nodes, chebyshev_rescale, chebyshev_t,
gauss_legendre, lagrange_interp, legendre_associated, legendre_p, lerp, newton_interp,
CubicSpline, NewtonInterpolator,
};
pub use crate::numtheory::{
binomial, chinese_remainder, continued_fraction, continued_fraction_value, diophantine,
discrete_log, euler_totient, extended_gcd, factorial, fibonacci, gcd, is_prime,
is_prime_miller_rabin, jacobi_symbol, lcm, mod_inverse, mod_pow, prime_factors,
sieve_primes,
};
pub use crate::autodiff::{
derivative as ad_derivative, eval as dual_eval, gradient as ad_gradient,
jacobian as ad_jacobian, Dual,
};
pub use crate::mathml::{from_mathml, to_mathml, to_mathml_doc};
pub use crate::serialize::{from_json, from_rpn, from_sexpr, to_json, to_rpn, to_sexpr};
pub use crate::interval::{Interval, eval_interval};
pub use crate::bigdec::{eval_decimal, BigDecimal};
pub use crate::limit::{limit, LimitValue};
pub use crate::poly::expand;
pub use crate::apart::apart;
pub use crate::curvefit::{curve_fit, LmFit, LmOptions};
pub use crate::logit::{logistic_regression, predict_proba, LogitFit, LogitOptions as LogitOpts};
pub use crate::stiff::{bdf2_system, bdf2_trajectory, implicit_euler_system, implicit_euler_trajectory, trapezoid_system, trapezoid_trajectory};
pub use crate::pchip::Pchip;
pub use crate::bspline::{basis_function, cubic_bspline_interp, BSpline};
pub use crate::interpolate::CubicHermite;
pub use crate::optim::{golden_section, nelder_mead, OptOptions, OptResult};
pub use crate::ode::{euler, rk4, rk4_system, rkf45};
pub use crate::solver::{
bisect, isolate_real_roots, newton_central, newton_system, polynomial_roots, secant, SolveOptions,
};
pub use crate::special::{bessel_j0, bessel_j1, bessel_jn, beta, erfc, erf, gamma, log_gamma, sinc};
pub use crate::calculus::{
derivative, fourier_eval, fourier_series, integrate_adaptive, integrate_romberg,
integrate_simpson, integrate_trap, monte_carlo_integrate_1d, monte_carlo_integrate_nd,
partial, second_derivative, FourierSeries,
};
pub use crate::stats::{
correlation, cumulants, exp_cdf, exp_pdf, linear_regression, mean, median, moments,
normal_cdf, normal_pdf, Rng, stddev, variance, Summary,
};
pub use crate::dists::{
anova_oneway, beta_inc, binomial_cdf, binomial_pmf, bootstrap_ci, chi2_cdf, chi2_pdf,
chi2_ppf, chi_square_gof, chi_square_uniform, f_cdf, f_pdf, f_ppf, kruskal_wallis,
mann_whitney_u, normal_ppf, poisson_cdf, poisson_pmf, spearman_corr, student_t_cdf,
student_t_pdf, student_t_ppf, t_test_one, t_test_paired, t_test_two, uniform_cdf,
uniform_pdf, uniform_ppf, wilcoxon_signed_rank, TestResult,
};
pub use crate::symbolic::{differentiate, gradient, integrate};
pub use crate::taylor::taylor_series;
pub use crate::laurent::{laurent_series, laurent_series_str, LaurentSeries};
pub use crate::rational::{parse_rational, Rational};
pub use crate::notebook::{CellType, Notebook, NotebookCell};
pub use crate::server::NotebookServer;
pub use crate::fastmath::{fast_cos, fast_exp, fast_log, fast_pow, fast_sin, fast_sqrt, fast_tan, ChebyshevApprox};
pub use crate::sparse::{bicgstab, bicgstab_ilu, conjugate_gradient, conjugate_gradient_jacobi, CgResult, Csc, Csr, Ilu0};
}