1,847
edits
m (→Best practices: Removed empty paragraph) |
(Use OctaveForge template.) |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{OctaveForge | |||
| name = interval | |||
| logo = [[File:Interval.png|100px]] | |||
| short description = Real-valued interval arithmetic. | |||
| version = 3.2.0 | |||
| date = 2018-07-01 | |||
| author 1 name = Oliver Heimlich | |||
| author 1 email = <oheim@posteo.de> | |||
| maintainer 1 name = Oliver Heimlich | |||
| maintainer 1 email = <oheim@posteo.de> | |||
| license = GPL-3.0+ | |||
| group = Community package | |||
| doc 1 = [https://octave.sourceforge.io/interval/overview.html Function reference] | |||
| doc 2 = [https://octave.sourceforge.io/interval/package_doc/ User manual] | |||
| download 1 = [https://octave.sourceforge.io/download.php?package=interval-3.2.0.tar.gz interval-3.2.0.tar.gz] | |||
| repository 1 = https://octave.sourceforge.io/pkg-repository/interval/ | |||
| dependency 1 = octave ≥ 3.8.0 | |||
| dependency 2 = '''Runtime:''' mpfr (≥ 3.1.0) [https://packages.debian.org/search?keywords=libmpfr4 libmpfr4 for Debian] | |||
| dependency 3 = '''Build:''' mpfr (≥ 3.1.0) [https://packages.debian.org/search?keywords=libmpfr-dev libmpfr-dev for Debian] | |||
}} | |||
The GNU Octave interval package for real-valued [https://en.wikipedia.org/wiki/Interval_arithmetic interval arithmetic]. | The GNU Octave interval package for real-valued [https://en.wikipedia.org/wiki/Interval_arithmetic interval arithmetic]. | ||
* Intervals are closed, connected subsets of the real numbers. Intervals may be unbound (in either or both directions) or empty. In special cases <code>+inf</code> and <code>-inf</code> are used to denote boundaries of unbound intervals, but any member of the interval is a finite real number. | |||
* Classical functions are extended to interval functions as follows: The result of function f evaluated on interval x is an interval '''enclosure of all possible values''' of f over x where the function is defined. Most interval arithmetic functions in this package manage to produce a very accurate such enclosure. | |||
* The result of an interval arithmetic function is an interval in general. It might happen, that the mathematical range of a function consist of several intervals, but their union will be returned, e. g., 1 / [-1, 1] = [Entire]. | |||
[[File:Interval-sombrero.png|280px|thumb|left|Example: Plotting the interval enclosure of a function]] | [[File:Interval-sombrero.png|280px|thumb|left|Example: Plotting the interval enclosure of a function]] | ||
<div style="clear:left"></div> | <div style="clear:left"></div> | ||
== Distribution == | == Distribution == | ||
* [https://tracker.debian.org/pkg/octave-interval Debian GNU/Linux], [https://launchpad.net/ubuntu/+source/octave-interval Launchpad Ubuntu] | * [https://tracker.debian.org/pkg/octave-interval Debian GNU/Linux], [https://launchpad.net/ubuntu/+source/octave-interval Launchpad Ubuntu] | ||
* [https://aur.archlinux.org/packages/octave-interval/ archlinux user repository] | * [https://aur.archlinux.org/packages/octave-interval/ archlinux user repository] | ||
Line 190: | Line 208: | ||
* Methods with more than 1 parameter must convert non-interval parameters to intervals using the class constructor. This allows the user to mix non-interval parameters with interval parameters and the function treats any inputs as intervals. Invalid values will be handled by the class constructors. | * Methods with more than 1 parameter must convert non-interval parameters to intervals using the class constructor. This allows the user to mix non-interval parameters with interval parameters and the function treats any inputs as intervals. Invalid values will be handled by the class constructors. | ||
if (not (isa (x, "infsup"))) | if (not (isa (x, "infsup"))) | ||
x = infsup (x); | |||
endif | endif | ||
if (not (isa (y, "infsup"))) | if (not (isa (y, "infsup"))) | ||
y = infsup (y); | |||
endif | endif | ||
if (not (isa (x, "infsupdec"))) | if (not (isa (x, "infsupdec"))) | ||
x = infsupdec (x); | |||
endif | endif | ||
if (not (isa (y, "infsupdec"))) | if (not (isa (y, "infsupdec"))) | ||
y = infsupdec (y); | |||
endif | endif | ||
Line 228: | Line 246: | ||
== VERSOFT == | == VERSOFT == | ||
The [http://uivtx.cs.cas.cz/~rohn/matlab/ VERSOFT] software package (by Jiří Rohn) has been released under a free software license (Expat license) and algorithms may be migrated into the interval package. | The [http://uivtx.cs.cas.cz/~rohn/matlab/ VERSOFT] software package (by Jiří Rohn) has been released under a free software license (Expat license) and algorithms may be migrated into the interval package. | ||
{| | {| | ||
Line 248: | Line 264: | ||
|verdet | |verdet | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| depends on | | depends on <code>vereig</code> | ||
|- | |- | ||
|verdistsing | |verdistsing | ||
Line 255: | Line 271: | ||
|- | |- | ||
|verfullcolrank | |verfullcolrank | ||
|style="color:red"| | |style="color:red"| trapped | ||
| | | depends on <code>verpinv</code> | ||
|- | |- | ||
|vernorm2 | |vernorm2 | ||
Line 297: | Line 313: | ||
|- | |- | ||
|vereig | |vereig | ||
|style="color:red"| | |style="color:red"| trapped | ||
| | | depends on proprietary <code>verifyeig</code> function from INTLAB, depends on complex interval arithmetic | ||
|- | |- | ||
|<s>vereigback</s> | |<s>vereigback</s> | ||
Line 306: | Line 322: | ||
|verspectrad | |verspectrad | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in | | main part implemented in <code>vereig</code> | ||
|- | |- | ||
|colspan="3"|Real (or complex) data only: Matrices: Decompositions | |colspan="3"|Real (or complex) data only: Matrices: Decompositions | ||
Line 320: | Line 336: | ||
|verspectdec | |verspectdec | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in | | main part implemented in <code>vereig</code> | ||
|- | |- | ||
|verthinsvd | |verthinsvd | ||
|style="color:red"| | |style="color:red"| trapped | ||
| implemented in | | implemented in <code>vereig</code> | ||
|- | |- | ||
|colspan="3"|Real (or complex) data only: Matrix functions | |colspan="3"|Real (or complex) data only: Matrix functions | ||
Line 330: | Line 346: | ||
|vermatfun | |vermatfun | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in | | main part implemented in <code>vereig</code> | ||
|- | |- | ||
|colspan="3"|Real data only: Linear systems (rectangular) | |colspan="3"|Real data only: Linear systems (rectangular) | ||
Line 349: | Line 365: | ||
|- | |- | ||
|verlcpall | |verlcpall | ||
|style="color: | |style="color:green"| free | ||
| depends on <code | | depends on <code>verabsvaleqnall</code> | ||
|- | |- | ||
|<s>verlinprog</s> | |<s>verlinprog</s> | ||
Line 357: | Line 373: | ||
|- | |- | ||
|verlinprogg | |verlinprogg | ||
|style="color:red"| | |style="color:red"| trapped | ||
| | | depends on <code>verfullcolrank</code> | ||
|- | |- | ||
|verquadprog | |verquadprog | ||
Line 368: | Line 384: | ||
|verroots | |verroots | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in | | main part implemented in <code>vereig</code> | ||
|- | |- | ||
|colspan="3"|Interval (or real) data: Matrices | |colspan="3"|Interval (or real) data: Matrices | ||
Line 377: | Line 393: | ||
|- | |- | ||
|verinverse | |verinverse | ||
|style="color: | |style="color:green"| free | ||
| depends on <code style="color: | | depends on <code style="color:green">verintervalhull</code>, to be migrated | ||
|- | |- | ||
|<s>verinvnonneg</s> | |<s>verinvnonneg</s> | ||
Line 389: | Line 405: | ||
|verregsing | |verregsing | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| dependency <code>verifylss</code> is implemented as <code>mldivide</code>; depends on <code>isspd</code> (by Rump, to be checked) and <code | | dependency <code>verifylss</code> is implemented as <code>mldivide</code>; depends on <code>isspd</code> (by Rump, to be checked) and <code>verintervalhull</code>; see also [http://uivtx.cs.cas.cz/~rohn/publist/singreg.pdf] | ||
|- | |- | ||
|colspan="3"|Interval (or real) data: Matrices: Eigenvalues and singular values | |colspan="3"|Interval (or real) data: Matrices: Eigenvalues and singular values | ||
Line 395: | Line 411: | ||
|vereigsym | |vereigsym | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in | | main part implemented in <code>vereig</code>, depends on <code style="color:red">verspectrad</code> | ||
|- | |- | ||
|vereigval | |vereigval | ||
Line 425: | Line 441: | ||
|- | |- | ||
|verenclinthull | |verenclinthull | ||
|style="color: | |style="color:green"| free | ||
| | | to be migrated | ||
|- | |- | ||
|verhullparam | |verhullparam | ||
|style="color: | |style="color:green"| free | ||
| | | depends on <code>verintervalhull</code>, to be migrated | ||
|- | |- | ||
|verhullpatt | |verhullpatt | ||
|style="color: | |style="color:green"| free | ||
| | | depends on <code>verhullparam</code>, to be migrated | ||
|- | |- | ||
|verintervalhull | |verintervalhull | ||
|style="color: | |style="color:green"| free | ||
| | | to be migrated | ||
|- | |- | ||
|colspan="3"|Interval (or real) data: Linear systems (rectangular) | |colspan="3"|Interval (or real) data: Linear systems (rectangular) | ||
Line 464: | Line 480: | ||
|- | |- | ||
| verabsvaleqn | | verabsvaleqn | ||
|style="color: | |style="color:green"| free | ||
| | | to be migrated | ||
|- | |- | ||
| verabsvaleqnall | | verabsvaleqnall | ||
|style="color: | |style="color:green"| free | ||
| depends on <code | | depends on <code>verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf], to be migrated | ||
|- | |- | ||
| verbasintnpprob | | verbasintnpprob | ||
Line 478: | Line 494: | ||
[[Category:Octave | [[Category:Octave Forge]] |