Interval package: Difference between revisions

Jump to navigation Jump to search
1,033 bytes added ,  13 August 2019
Use OctaveForge template.
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 &ge; 3.8.0
| dependency 2 = '''Runtime:''' mpfr (&ge; 3.1.0) [https://packages.debian.org/search?keywords=libmpfr4 libmpfr4 for Debian]
| dependency 3 = '''Build:''' mpfr (&ge; 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].


__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 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);
  x = infsup (x);
  endif
  endif
  if (not (isa (y, "infsup")))
  if (not (isa (y, "infsup")))
    y = infsup (y);
  y = infsup (y);
  endif
  endif


  if (not (isa (x, "infsupdec")))
  if (not (isa (x, "infsupdec")))
    x = infsupdec (x);
  x = infsupdec (x);
  endif
  endif
  if (not (isa (y, "infsupdec")))
  if (not (isa (y, "infsupdec")))
    y = infsupdec (y);
  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.
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 248: Line 264:
|verdet
|verdet
|style="color:red"| trapped
|style="color:red"| trapped
| depends on p-coded <code>ol</code>
| depends on <code>vereig</code>
|-
|-
|verdistsing
|verdistsing
Line 255: Line 271:
|-
|-
|verfullcolrank
|verfullcolrank
|style="color:red"| encrypted
|style="color:red"| trapped
| implemented in p-coded <code>zd</code>
| depends on <code>verpinv</code>
|-
|-
|vernorm2
|vernorm2
Line 297: Line 313:
|-
|-
|vereig
|vereig
|style="color:red"| encrypted
|style="color:red"| trapped
| implemented in p-coded <code>ol</code>
| 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 p-coded <code>ol</code>
| 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 p-coded <code>ol</code>
| main part implemented in <code>vereig</code>
|-
|-
|verthinsvd
|verthinsvd
|style="color:red"| encrypted
|style="color:red"| trapped
| implemented in p-coded <code>ol</code>
| 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 p-coded <code>ol</code>
| 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:red"| trapped
|style="color:green"| free
| depends on <code style="color:red">verabsvaleqnall</code>
| depends on <code>verabsvaleqnall</code>
|-
|-
|<s>verlinprog</s>
|<s>verlinprog</s>
Line 357: Line 373:
|-
|-
|verlinprogg
|verlinprogg
|style="color:red"| encrypted
|style="color:red"| trapped
| implemented in p-coded <code>at</code>
| 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 p-coded <code>ol</code>
| 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:red"| trapped
|style="color:green"| free
| depends on <code style="color:red">verintervalhull</code>
| 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 style="color:red">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>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 p-coded <code>ol</code>, depends on <code style="color:red">verspectrad</code>
| 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:red"| trapped
|style="color:green"| free
| main part implemented in p-coded <code>ea</code>
| to be migrated
|-
|-
|verhullparam
|verhullparam
|style="color:red"| encrypted
|style="color:green"| free
| implemented in p-coded <code>jz</code>
| depends on <code>verintervalhull</code>, to be migrated
|-
|-
|verhullpatt
|verhullpatt
|style="color:red"| trapped
|style="color:green"| free
| main part implemented in p-coded <code>jz</code>
| depends on <code>verhullparam</code>, to be migrated
|-
|-
|verintervalhull
|verintervalhull
|style="color:red"| encrypted
|style="color:green"| free
| implemented in p-coded <code>intervalhull</code> (find algorithm in [http://uivtx.cs.cas.cz/~rohn/publist/intervalhull.pdf])
| 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:red"| trapped
|style="color:green"| free
| 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])
| to be migrated
|-
|-
| verabsvaleqnall
| verabsvaleqnall
|style="color:red"| trapped
|style="color:green"| free
| depends on <code style="color:red">verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf]
| 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-Forge]]
[[Category:Octave Forge]]

Navigation menu