← Back

Module optimize

struct OptimizeResult

Source: optimize.joule:12

struct OptimizeOptions

Source: optimize.joule:33

fn default() -> Self

Source: optimize.joule:47

struct RootResult

Source: optimize.joule:64

fn bisect<F>(f: F, a: f64, b: f64, tol: f64, maxiter: usize) -> RootResult

Source: optimize.joule:79

fn newton<F, DF>(f: F, df: DF, x0: f64, tol: f64, maxiter: usize) -> RootResult

Source: optimize.joule:126

fn secant<F>(f: F, x0: f64, x1: f64, tol: f64, maxiter: usize) -> RootResult

Source: optimize.joule:179

fn brentq<F>(f: F, a: f64, b: f64, tol: f64, maxiter: usize) -> RootResult

Source: optimize.joule:235

fn find_all_roots<F>(f: F, a: f64, b: f64, num_intervals: usize, tol: f64) -> Vec<f64>

Source: optimize.joule:325

fn newton_multidim<F, J>(

Source: optimize.joule:352

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

Source: optimize.joule:395

fn brent_minimize<F>(f: F, a: f64, b: f64, tol: f64, maxiter: usize) -> (f64, f64)

Source: optimize.joule:431

fn gradient_descent<F, G>(

Source: optimize.joule:535

fn bfgs<F, G>(

Source: optimize.joule:612

fn lbfgs<F, G>(

Source: optimize.joule:712

fn line_search_wolfe<F, G>(

Line search satisfying Wolfe conditions

Source: optimize.joule:829

fn nelder_mead<F>(

Source: optimize.joule:883

fn powell<F>(

Source: optimize.joule:1019

fn conjugate_gradient<F, G>(

Source: optimize.joule:1113

fn simulated_annealing<F>(

Source: optimize.joule:1199

struct SimulatedAnnealingOptions

Source: optimize.joule:1274

fn default() -> Self

Source: optimize.joule:1282

fn differential_evolution<F>(

Source: optimize.joule:1294

struct DifferentialEvolutionOptions

Source: optimize.joule:1416

fn default() -> Self

Source: optimize.joule:1425

struct LeastSquaresResult

Source: optimize.joule:1442

fn least_squares<F, J>(

Source: optimize.joule:1459

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

Source: optimize.joule:1565

struct Bounds

Bound constraints

Source: optimize.joule:1596

fn new(lower: Vec<f64>, upper: Vec<f64>) -> Self

Source: optimize.joule:1602

fn lbfgsb<F, G>(

Source: optimize.joule:1609

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

Solve linear system Ax = b using Gaussian elimination with partial pivoting

Source: optimize.joule:1751

fn approx_gradient<F>(f: &F, x: &[f64], eps: f64) -> Vec<f64>

Source: optimize.joule:1797

fn approx_jacobian<F>(f: &F, x: &[f64], eps: f64) -> Vec<Vec<f64>>

Source: optimize.joule:1818

fn check_gradient<F, G>(f: &F, grad: &G, x: &[f64], eps: f64) -> Vec<f64>

Source: optimize.joule:1843

fn test_bisect()

Source: optimize.joule:1866

fn test_newton()

Source: optimize.joule:1873

fn test_golden_section()

Source: optimize.joule:1886

fn test_nelder_mead()

Source: optimize.joule:1893

fn test_bfgs()

Source: optimize.joule:1907