Editing Interval package
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
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]. | ||
__TOC__ | |||
[[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://octave.sourceforge.io/interval/ Latest version at Octave Forge] | |||
** <code>pkg install -forge interval</code> | |||
** [https://octave.sourceforge.io/interval/overview.html function reference] | |||
** [https://octave.sourceforge.io/interval/package_doc/index.html package documentation] (user manual) | |||
'''Third-party''' | |||
* [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 208: | Line 190: | ||
* 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 230: | Line 212: | ||
If Octave functions would introduce arithmetic/rounding errors, there are interfaces to MPFR (<code>mpfr_function_d</code>) and crlibm (<code>crlibm_function</code>), which can produce guaranteed boundaries. | If Octave functions would introduce arithmetic/rounding errors, there are interfaces to MPFR (<code>mpfr_function_d</code>) and crlibm (<code>crlibm_function</code>), which can produce guaranteed boundaries. | ||
==== Vectorization & Indexing ==== | ==== Vectorization & Indexing ==== | ||
Line 246: | Line 229: | ||
== 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. | ||
The following table is no longer up-to-date, it describes the situation before p-coded files have been disclosed. So, some functions are no longer trapped. | |||
{| | {| | ||
Line 264: | Line 249: | ||
|verdet | |verdet | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| depends on <code> | | depends on p-coded <code>ol</code> | ||
|- | |- | ||
|verdistsing | |verdistsing | ||
Line 271: | Line 256: | ||
|- | |- | ||
|verfullcolrank | |verfullcolrank | ||
|style="color:red"| | |style="color:red"| encrypted | ||
| | | implemented in p-coded <code>zd</code> | ||
|- | |- | ||
|vernorm2 | |vernorm2 | ||
Line 313: | Line 298: | ||
|- | |- | ||
|vereig | |vereig | ||
|style="color:red"| | |style="color:red"| encrypted | ||
| | | implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|<s>vereigback</s> | |<s>vereigback</s> | ||
Line 322: | Line 307: | ||
|verspectrad | |verspectrad | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in <code> | | main part implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|colspan="3"|Real (or complex) data only: Matrices: Decompositions | |colspan="3"|Real (or complex) data only: Matrices: Decompositions | ||
Line 336: | Line 321: | ||
|verspectdec | |verspectdec | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in <code> | | main part implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|verthinsvd | |verthinsvd | ||
|style="color:red"| | |style="color:red"| encrypted | ||
| implemented in <code> | | implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|colspan="3"|Real (or complex) data only: Matrix functions | |colspan="3"|Real (or complex) data only: Matrix functions | ||
Line 346: | Line 331: | ||
|vermatfun | |vermatfun | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in <code> | | main part implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|colspan="3"|Real data only: Linear systems (rectangular) | |colspan="3"|Real data only: Linear systems (rectangular) | ||
Line 365: | Line 350: | ||
|- | |- | ||
|verlcpall | |verlcpall | ||
|style="color: | |style="color:red"| trapped | ||
| depends on <code>verabsvaleqnall</code> | | depends on <code style="color:red">verabsvaleqnall</code> | ||
|- | |- | ||
|<s>verlinprog</s> | |<s>verlinprog</s> | ||
Line 373: | Line 358: | ||
|- | |- | ||
|verlinprogg | |verlinprogg | ||
|style="color:red"| | |style="color:red"| encrypted | ||
| | | implemented in p-coded <code>at</code> | ||
|- | |- | ||
|verquadprog | |verquadprog | ||
Line 384: | Line 369: | ||
|verroots | |verroots | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in <code> | | main part implemented in p-coded <code>ol</code> | ||
|- | |- | ||
|colspan="3"|Interval (or real) data: Matrices | |colspan="3"|Interval (or real) data: Matrices | ||
Line 393: | Line 378: | ||
|- | |- | ||
|verinverse | |verinverse | ||
|style="color: | |style="color:red"| trapped | ||
| depends on <code style="color: | | depends on <code style="color:red">verintervalhull</code> | ||
|- | |- | ||
|<s>verinvnonneg</s> | |<s>verinvnonneg</s> | ||
Line 405: | Line 390: | ||
|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>verintervalhull</code>; see also [http://uivtx.cs.cas.cz/~rohn/publist/singreg.pdf] | | dependency <code>verifylss</code> is implemented as <code>mldivide</code>; depends on <code>isspd</code> (by Rump, to be checked) and <code style="color:red">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 411: | Line 396: | ||
|vereigsym | |vereigsym | ||
|style="color:red"| trapped | |style="color:red"| trapped | ||
| main part implemented in <code> | | main part implemented in p-coded <code>ol</code>, depends on <code style="color:red">verspectrad</code> | ||
|- | |- | ||
|vereigval | |vereigval | ||
Line 441: | Line 426: | ||
|- | |- | ||
|verenclinthull | |verenclinthull | ||
|style="color: | |style="color:red"| trapped | ||
| | | main part implemented in p-coded <code>ea</code> | ||
|- | |- | ||
|verhullparam | |verhullparam | ||
|style="color: | |style="color:red"| encrypted | ||
| | | implemented in p-coded <code>jz</code> | ||
|- | |- | ||
|verhullpatt | |verhullpatt | ||
|style="color: | |style="color:red"| trapped | ||
| | | main part implemented in p-coded <code>jz</code> | ||
|- | |- | ||
|verintervalhull | |verintervalhull | ||
|style="color: | |style="color:red"| encrypted | ||
| | | implemented in p-coded <code>intervalhull</code> (find algorithm in [http://uivtx.cs.cas.cz/~rohn/publist/intervalhull.pdf]) | ||
|- | |- | ||
|colspan="3"|Interval (or real) data: Linear systems (rectangular) | |colspan="3"|Interval (or real) data: Linear systems (rectangular) | ||
Line 480: | Line 465: | ||
|- | |- | ||
| verabsvaleqn | | verabsvaleqn | ||
|style="color: | |style="color:red"| trapped | ||
| | | main part implemented in p-coded <code>ek</code> (find algorithm in [http://uivtx.cs.cas.cz/~rohn/publist/signaccalg.pdf], improved version in [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnreport.pdf]) | ||
|- | |- | ||
| verabsvaleqnall | | verabsvaleqnall | ||
|style="color: | |style="color:red"| trapped | ||
| depends on <code>verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf] | | depends on <code style="color:red">verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf] | ||
|- | |- | ||
| verbasintnpprob | | verbasintnpprob | ||
Line 494: | Line 479: | ||
[[Category:Octave Forge]] | [[Category:Octave-Forge]] |