123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
- <html>
- <!-- Created on December 10, 2012 by texi2html 1.82
- texi2html was written by:
- Lionel Cons <[email protected]> (original author)
- Karl Berry <[email protected]>
- Olaf Bachmann <[email protected]>
- and many others.
- Maintained by: Many creative people.
- Send bugs and suggestions to <[email protected]>
- -->
- <head>
- <title>avram - a virtual machine code interpreter: D.10.1 lapack calling conventions</title>
- <meta name="description" content="avram - a virtual machine code interpreter: D.10.1 lapack calling conventions">
- <meta name="keywords" content="avram - a virtual machine code interpreter: D.10.1 lapack calling conventions">
- <meta name="resource-type" content="document">
- <meta name="distribution" content="global">
- <meta name="Generator" content="texi2html 1.82">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <style type="text/css">
- <!--
- a.summary-letter {text-decoration: none}
- blockquote.smallquotation {font-size: smaller}
- pre.display {font-family: serif}
- pre.format {font-family: serif}
- pre.menu-comment {font-family: serif}
- pre.menu-preformatted {font-family: serif}
- pre.smalldisplay {font-family: serif; font-size: smaller}
- pre.smallexample {font-size: smaller}
- pre.smallformat {font-family: serif; font-size: smaller}
- pre.smalllisp {font-size: smaller}
- span.roman {font-family:serif; font-weight:normal;}
- span.sansserif {font-family:sans-serif; font-weight:normal;}
- ul.toc {list-style: none}
- -->
- </style>
- </head>
- <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
- <a name="lapack-calling-conventions"></a>
- <table cellpadding="1" cellspacing="1" border="0">
- <tr><td valign="middle" align="left">[<a href="lapack.html#lapack" title="Previous section in reading order"> < </a>]</td>
- <td valign="middle" align="left">[<a href="lapack-exceptions.html#lapack-exceptions" title="Next section in reading order"> > </a>]</td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> << </a>]</td>
- <td valign="middle" align="left">[<a href="lapack.html#lapack" title="Up section"> Up </a>]</td>
- <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> >> </a>]</td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
- <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
- <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
- <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
- </tr></table>
- <hr size="1">
- <a name="lapack-calling-conventions-1"></a>
- <h3 class="subsection">D.10.1 <code>lapack</code> calling conventions</h3>
- <p>A table describing the inputs and outputs to the <code>lapack</code> library
- functions listed by their function names is given in this
- section. Some general points related to most of the functions are
- mentioned first.
- </p>
- <ul>
- <li>
- References to vectors, matrices, and packed matrices should be
- understood as their list representations explained in <a href="Type-Conversions.html#Type-Conversions">Type Conversions</a>. Although <code>LAPACK</code> internally uses column order
- arrays, the virtual code library interface exhibits a matrix as a list
- of lists with one inner list for each row.
- </li><li>
- Some functions require a symmetric matrix as an input parameter. Any
- <a name="index-symmetric-matrices"></a>
- input parameter that is required to be a symmetric matrix may be
- specified optionally either in square form or in triangular form as
- <a name="index-triangular-matrices"></a>
- described in <a href="Two-dimensional-arrays.html#Two-dimensional-arrays">Two dimensional arrays</a>. If a square matrix form is
- used, symmetry is not checked and the lower triangular portion is
- ignored.
- </li><li>
- Some function names are listed in pairs differing only in the first
- letter. Function names beginning with <code>d</code> pertain to vectors or
- matrices of real numbers (<a href="math.html#math"><code>math</code></a>), and function names beginning
- with <code>z</code> pertain to complex numbers (<a href="complex.html#complex"><code>complex</code></a>). The
- specifications of similarly named functions are otherwise identical.
- </li></ul>
- <dl compact="compact">
- <dt> <code>dgesvx</code></dt>
- <dt> <code>zgesvx</code></dt>
- <dd><p>These library functions take a pair <code>(<var>a</var>,<var>b</var>)</code> where
- <var>a</var> is an <var>n</var> by <var>n</var> matrix and <var>b</var> is a vector of
- length <var>n</var>. If <var>a</var> is non-singular, they return a
- vector <var>x</var> such that <code><var>a</var> <var>x</var> = <var>b</var></code>.
- Otherwise they return an empty list.
- </p></dd>
- <dt> <code>dgelsd</code></dt>
- <dt> <code>zgelsd</code></dt>
- <dd><p>These functions generalize those above by taking a pair
- <code>(<var>a</var>,<var>b</var>)</code> where <var>a</var> is an <var>m</var> by <var>n</var> matrix
- and <var>b</var> is a vector of length <var>m</var>, with <var>m</var> greater than
- <var>n</var>. They return a vector <var>x</var> of length <var>n</var> to minimize
- the magnitude of <code><var>b</var> - <var>a</var> <var>x</var></code>.
- </p></dd>
- <dt> <code>dgesdd</code></dt>
- <dt> <code>zgesdd</code></dt>
- <dd><p>These functions take a list of <var>m</var> time series (i.e., vectors)
- each of length <var>n</var> and return a list of basis vectors each of
- length <var>n</var>. The basis vectors span the set of time series in the
- <a name="index-singular-value-decomposition"></a>
- given list according to the singular value decomposition (i.e., with
- the basis vectors forming a series in order of decreasing
- significance). The number of basis vectors is at most
- <code><var>min</var>(<var>m</var>,<var>n</var>)</code> but could be less if the input time
- series aren’t linearly independent. An empty list could be returned
- due to lack of convergence.
- </p></dd>
- <dt> <code>dgeevx</code></dt>
- <dt> <code>zgeevx</code></dt>
- <dd><p>These functions take a non-symmetric square matrix and
- return a pair <code>(<var>e</var>,<var>v</var>)</code> where <var>e</var> is a list of
- eigenvectors and <var>v</var> is a list of eigenvalues, both of which will
- <a name="index-eigenvectors"></a>
- contain only complex numbers. (N.B., both functions return complex
- results even though <code>dgeevx</code> takes real input.) They could also
- return <code>nil</code> due to a lack of convergence.
- </p></dd>
- <dt> <code>dpptrf</code></dt>
- <dt> <code>zpptrf</code></dt>
- <dd><p>These functions take a symmetric square matrix and
- return one of the Cholesky factors. The Cholesky factors are a pair
- <a name="index-Cholesky-decomposition"></a>
- of triangular matrices, each equal to the transpose of the other,
- whose product is the original matrix.
- </p>
- <ul>
- <li>
- If the input matrix is specified in lower triangular form, the lower
- triangular Cholesky factor is returned.
- </li><li>
- If the input matrix is specified in square or upper triangular form,
- the upper triangular Cholesky factor is returned.
- </li><li>
- In either case, the result is returned in triangular form.
- </li></ul>
- </dd>
- <dt> <code>dggglm</code></dt>
- <dt> <code>zggglm</code></dt>
- <dd><p>The input is a pair of matrices and a vector
- <a name="index-generalized-least-squares"></a>
- <a name="index-least-squares-1"></a>
- <code>((<var>A</var>,<var>B</var>),<var>d</var>)</code>. The output is a pair of vectors
- <code>(<var>x</var>,<var>y</var>)</code> satisfying <code><var>A</var><var>x</var> +
- <var>B</var><var>y</var> = <var>d</var></code> for which the magnitude of <var>y</var> is
- minimal. The dimensions all have to be consistent, which means
- the number of rows in <var>A</var> and <var>B</var> is the length of <var>d</var>,
- the number of columns in <var>A</var> is the length of <var>x</var>, and
- the number of columns in <var>B</var> is the length of <var>y</var>.
- </p></dd>
- <dt> <code>dgglse</code></dt>
- <dt> <code>zgglse</code></dt>
- <dd><p>The input is of the form <code>((<var>A</var>,<var>c</var>),(<var>B</var>,<var>d</var>))</code>
- where <var>A</var> and <var>B</var> are matrices and <var>c</var> and <var>d</var> are
- vectors. The output is a vector <var>x</var> to minimize the magnitude of
- <code><var>A</var><var>x</var> - <var>c</var></code> subject to the constraint that
- <code><var>B</var><var>x</var> = <var>d</var></code>. The dimensions have to be consistent,
- which means <var>A</var> has <var>m</var> rows, <var>c</var> has length <var>m</var>,
- <var>B</var> has <var>p</var> rows, <var>d</var> has length <var>p</var>, both <var>A</var> and
- <var>B</var> have <var>n</var> columns, and the output <var>x</var> has length
- <var>n</var>. It is also a requirement that <code><var>p</var> <= <var>n</var> <=
- <var>m</var> + <var>p</var></code>.
- </p></dd>
- <dt> <code>dsyevr</code></dt>
- <dd><p>This function takes a symmetric real matrix and returns a pair
- <code>(<var>e</var>,<var>v</var>)</code> where <var>e</var> is a list of eigenvectors and
- <var>v</var> is a list of eigenvalues. Both contain only real numbers.
- This function is fast and accurate but not as storage efficient as
- possible. If there is insufficient memory, it automatically invokes
- <code>dspev</code>.
- </p></dd>
- <dt> <code>dspev</code></dt>
- <dd><p>This function takes a symmetric real matrix and returns a pair
- <code>(<var>e</var>,<var>v</var>)</code> where <var>e</var> is a list of eigenvectors and
- <var>v</var> is a list of eigenvalues. Both contain only real numbers. It
- uses roughly half the memory of <code>dsyevr</code> but is not as fast or
- accurate.
- </p></dd>
- <dt> <code>zheevr</code></dt>
- <dd><p>This function takes a complex Hermitian matrix and returns a pair
- <a name="index-Hermitian-matrix"></a>
- <code>(<var>e</var>,<var>v</var>)</code> where <var>e</var> is a list of eigenvectors and
- <var>v</var> is a list of eigenvalues. The eigenvectors are complex but the
- eigenvalues are real.
- </p>
- <ul>
- <li>
- A Hermitian matrix has <var>Aij</var> equal to the complex conjugate of
- <var>Aji</var>.
- </li><li>
- Although not exactly symmetric, a Hermitian matrix may nevertheless
- be given in either upper or lower triangular form.
- </li><li>
- This function is faster but less storage efficient than <code>zhpev</code>,
- and calls it automatically if it runs out of memory.
- </li></ul>
- </dd>
- <dt> <code>zhpev</code></dt>
- <dd><p>This function has the same inputs and approximate outputs as
- <code>zheevr</code> but is slower and more memory efficient because it uses
- only packed matrices.
- </p></dd>
- </dl>
- <hr size="1">
- <table cellpadding="1" cellspacing="1" border="0">
- <tr><td valign="middle" align="left">[<a href="lapack.html#lapack" title="Previous section in reading order"> < </a>]</td>
- <td valign="middle" align="left">[<a href="lapack-exceptions.html#lapack-exceptions" title="Next section in reading order"> > </a>]</td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> << </a>]</td>
- <td valign="middle" align="left">[<a href="lapack.html#lapack" title="Up section"> Up </a>]</td>
- <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> >> </a>]</td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left"> </td>
- <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
- <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
- <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
- <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
- </tr></table>
- <p>
- <font size="-1">
- This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
- </font>
- <br>
- </p>
- </body>
- </html>
|