← Back

Module integrate

struct IntegrationResult

Source: integrate.joule:13

fn quad<F>(f: F, a: f64, b: f64, tol: f64) -> IntegrationResult

Source: integrate.joule:26

fn adaptive_simpson<F>(f: &F, a: f64, b: f64, tol: f64, max_depth: usize) -> (f64, f64, bool)

Adaptive Simpson's method

Source: integrate.joule:47

fn adaptive_simpson_recursive<F>(

Source: integrate.joule:62

fn quad_gauss<F>(f: F, a: f64, b: f64, order: usize) -> f64

Source: integrate.joule:102

fn gauss_legendre_nodes_weights(n: usize) -> (Vec<f64>, Vec<f64>)

Gauss-Legendre nodes and weights

Source: integrate.joule:122

fn compute_gauss_legendre(n: usize) -> (Vec<f64>, Vec<f64>)

Source: integrate.joule:162

fn legendre_with_derivative(n: usize, x: f64) -> (f64, f64)

Source: integrate.joule:197

fn quad_kronrod<F>(f: F, a: f64, b: f64, tol: f64) -> IntegrationResult

Source: integrate.joule:220

fn gauss_kronrod_15<F>(f: &F, a: f64, b: f64) -> (f64, f64, f64)

Source: integrate.joule:249

fn romberg<F>(f: F, a: f64, b: f64, max_steps: usize, tol: f64) -> IntegrationResult

Source: integrate.joule:313

fn quad_clenshaw_curtis<F>(f: F, a: f64, b: f64, n: usize) -> f64

Source: integrate.joule:362

fn dblquad<F, G, H>(

Source: integrate.joule:403

fn tplquad<F, G1, H1, G2, H2>(

Source: integrate.joule:438

fn quad_inf<F>(f: F, a: f64, tol: f64) -> IntegrationResult

Source: integrate.joule:487

fn quad_inf_inf<F>(f: F, tol: f64) -> IntegrationResult

Source: integrate.joule:506

struct OdeSolution

Source: integrate.joule:531

struct OdeOptions

Source: integrate.joule:546

fn default() -> Self

Source: integrate.joule:562

fn solve_ivp<F>(

Source: integrate.joule:577

fn estimate_initial_step<F>(f: &F, t0: f64, y0: &[f64], options: &OdeOptions) -> f64

Source: integrate.joule:724

fn interpolate_solution(

Source: integrate.joule:756

fn euler<F>(f: F, t_span: (f64, f64), y0: &[f64], num_steps: usize) -> OdeSolution

Source: integrate.joule:787

fn rk4<F>(f: F, t_span: (f64, f64), y0: &[f64], num_steps: usize) -> OdeSolution

Source: integrate.joule:823

fn backward_euler<F, J>(

Source: integrate.joule:869

fn solve_linear_system(a: &[Vec<f64>], b: &[f64]) -> Option<Vec<f64>>

Simple linear system solver (Gaussian elimination)

Source: integrate.joule:946

fn bdf<F, J>(

Source: integrate.joule:995

struct BvpSolution

BVP solution result

Source: integrate.joule:1110

fn solve_bvp<F, BC>(

Source: integrate.joule:1123

fn solve_heat_1d(

Source: integrate.joule:1210

fn solve_heat_1d_implicit(

Implicit heat equation solver (Crank-Nicolson)

Source: integrate.joule:1252

fn solve_wave_1d(

Source: integrate.joule:1300

fn solve_tridiagonal(a: f64, b: f64, c: f64, d: &[f64]) -> Vec<f64>

Solve tridiagonal system

Source: integrate.joule:1349

fn trapz(y: &[f64], x: &[f64]) -> f64

Source: integrate.joule:1379

fn trapz_uniform(y: &[f64], dx: f64) -> f64

Source: integrate.joule:1393

fn simps(y: &[f64], dx: f64) -> f64

Source: integrate.joule:1406

fn cumtrapz(y: &[f64], x: &[f64]) -> Vec<f64>

Source: integrate.joule:1425

fn test_quad()

Source: integrate.joule:1446

fn test_gauss_quadrature()

Source: integrate.joule:1454

fn test_rk4()

Source: integrate.joule:1461

fn test_solve_ivp()

Source: integrate.joule:1472

fn test_harmonic_oscillator()

Source: integrate.joule:1489