JuliaIntervals / IntervalRootFinding.jl

Library for finding the roots of a function using interval arithmetic
https://juliaintervals.github.io/IntervalRootFinding.jl/
Other
127 stars 26 forks source link

Linear Hull for solving system of linear equations #79

Open eeshan9815 opened 6 years ago

eeshan9815 commented 6 years ago

Reference - Eldon Hansen and G. William Walster : Global Optimization Using Interval Analysis - Chapter 5 - Section 5.8

eeshan9815 commented 6 years ago

@dpsanders (I rebased other branches on this before starting because this was to be built upon earlier changes)

eeshan9815 commented 6 years ago
│ Row │ n  │ Base.\     │ Gauss Elimination │ Linear Hull │
├─────┼────┼────────────┼───────────────────┼─────────────┤
│ 1   │ 1  │ 1.9415e-6  │ 8.40867e-6        │ 2.94457e-6  │
│ 2   │ 10 │ 7.1184e-5  │ 7.8812e-5         │ 4.6999e-5   │
│ 3   │ 2  │ 3.34387e-6 │ 1.012e-5          │ 4.30567e-6  │
│ 4   │ 3  │ 4.548e-6   │ 1.0955e-5         │ 5.5832e-6   │
│ 5   │ 4  │ 7.256e-6   │ 1.3845e-5         │ 1.1115e-5   │
│ 6   │ 5  │ 1.0878e-5  │ 1.7847e-5         │ 1.4564e-5   │
│ 7   │ 6  │ 1.5747e-5  │ 2.1526e-5         │ 1.9468e-5   │
│ 8   │ 7  │ 2.296e-5   │ 3.109e-5          │ 2.7597e-5   │
│ 9   │ 8  │ 3.4512e-5  │ 4.0778e-5         │ 3.7466e-5   │
│ 10  │ 9  │ 4.8627e-5  │ 5.7028e-5         │ 5.3766e-5   │

linear_hull usually provides a tighter bound, and is more or less same as gauss_elimination_interval and Base.\ in terms of efficiency.

eeshan9815 commented 6 years ago

Tests pass on the latest IntervalArithmetic.jl master