Editing Interval package

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 21: Line 21:


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]]
Line 208: Line 205:
* 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 246: Line 243:
== 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 263:
|verdet
|verdet
|style="color:red"| trapped
|style="color:red"| trapped
| depends on <code>vereig</code>
| depends on p-coded <code>ol</code>
|-
|-
|verdistsing
|verdistsing
Line 271: Line 270:
|-
|-
|verfullcolrank
|verfullcolrank
|style="color:red"| trapped
|style="color:red"| encrypted
| depends on <code>verpinv</code>
| implemented in p-coded <code>zd</code>
|-
|-
|vernorm2
|vernorm2
Line 313: Line 312:
|-
|-
|vereig
|vereig
|style="color:red"| trapped
|style="color:red"| encrypted
| depends on proprietary <code>verifyeig</code> function from INTLAB, depends on complex interval arithmetic
| implemented in p-coded <code>ol</code>
|-
|-
|<s>vereigback</s>
|<s>vereigback</s>
Line 322: Line 321:
|verspectrad
|verspectrad
|style="color:red"| trapped
|style="color:red"| trapped
| main part implemented in <code>vereig</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 335:
|verspectdec
|verspectdec
|style="color:red"| trapped
|style="color:red"| trapped
| main part implemented in <code>vereig</code>
| main part implemented in p-coded <code>ol</code>
|-
|-
|verthinsvd
|verthinsvd
|style="color:red"| trapped
|style="color:red"| encrypted
| implemented in <code>vereig</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 345:
|vermatfun
|vermatfun
|style="color:red"| trapped
|style="color:red"| trapped
| main part implemented in <code>vereig</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 364:
|-
|-
|verlcpall
|verlcpall
|style="color:green"| free
|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 372:
|-
|-
|verlinprogg
|verlinprogg
|style="color:red"| trapped
|style="color:red"| encrypted
| depends on <code>verfullcolrank</code>
| implemented in p-coded <code>at</code>
|-
|-
|verquadprog
|verquadprog
Line 384: Line 383:
|verroots
|verroots
|style="color:red"| trapped
|style="color:red"| trapped
| main part implemented in <code>vereig</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 392:
|-
|-
|verinverse
|verinverse
|style="color:green"| free
|style="color:red"| trapped
| depends on <code style="color:green">verintervalhull</code>, to be migrated
| depends on <code style="color:red">verintervalhull</code>
|-
|-
|<s>verinvnonneg</s>
|<s>verinvnonneg</s>
Line 405: Line 404:
|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 410:
|vereigsym
|vereigsym
|style="color:red"| trapped
|style="color:red"| trapped
| main part implemented in <code>vereig</code>, depends on <code style="color:red">verspectrad</code>
| main part implemented in p-coded <code>ol</code>, depends on <code style="color:red">verspectrad</code>
|-
|-
|vereigval
|vereigval
Line 441: Line 440:
|-
|-
|verenclinthull
|verenclinthull
|style="color:green"| free
|style="color:red"| trapped
| to be migrated
| main part implemented in p-coded <code>ea</code>
|-
|-
|verhullparam
|verhullparam
|style="color:green"| free
|style="color:red"| encrypted
| depends on <code>verintervalhull</code>, to be migrated
| implemented in p-coded <code>jz</code>
|-
|-
|verhullpatt
|verhullpatt
|style="color:green"| free
|style="color:red"| trapped
| depends on <code>verhullparam</code>, to be migrated
| main part implemented in p-coded <code>jz</code>
|-
|-
|verintervalhull
|verintervalhull
|style="color:green"| free
|style="color:red"| encrypted
| to be migrated
| 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 479:
|-
|-
| verabsvaleqn
| verabsvaleqn
|style="color:green"| free
|style="color:red"| trapped
| to be migrated
| 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:green"| free
|style="color:red"| trapped
| depends on <code>verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf], to be migrated
| depends on <code style="color:red">verabsvaleqn</code>, see also [http://uivtx.cs.cas.cz/~rohn/publist/absvaleqnall.pdf]
|-
|-
| verbasintnpprob
| verbasintnpprob
Line 494: Line 493:




[[Category:Octave Forge]]
[[Category:Octave-Forge]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: