umf-input-parameters.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <html lang="en">
  2. <head>
  3. <title>umf input parameters - avram - a virtual machine code interpreter</title>
  4. <meta http-equiv="Content-Type" content="text/html">
  5. <meta name="description" content="avram - a virtual machine code interpreter">
  6. <meta name="generator" content="makeinfo 4.13">
  7. <link title="Top" rel="start" href="index.html#Top">
  8. <link rel="up" href="umf.html#umf" title="umf">
  9. <link rel="prev" href="umf.html#umf" title="umf">
  10. <link rel="next" href="umf-output.html#umf-output" title="umf output">
  11. <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
  12. <meta http-equiv="Content-Style-Type" content="text/css">
  13. <style type="text/css"><!--
  14. pre.display { font-family:inherit }
  15. pre.format { font-family:inherit }
  16. pre.smalldisplay { font-family:inherit; font-size:smaller }
  17. pre.smallformat { font-family:inherit; font-size:smaller }
  18. pre.smallexample { font-size:smaller }
  19. pre.smalllisp { font-size:smaller }
  20. span.sc { font-variant:small-caps }
  21. span.roman { font-family:serif; font-weight:normal; }
  22. span.sansserif { font-family:sans-serif; font-weight:normal; }
  23. --></style>
  24. </head>
  25. <body>
  26. <div class="node">
  27. <a name="umf-input-parameters"></a>
  28. <p>
  29. Next:&nbsp;<a rel="next" accesskey="n" href="umf-output.html#umf-output">umf output</a>,
  30. Previous:&nbsp;<a rel="previous" accesskey="p" href="umf.html#umf">umf</a>,
  31. Up:&nbsp;<a rel="up" accesskey="u" href="umf.html#umf">umf</a>
  32. <hr>
  33. </div>
  34. <h4 class="subsection">D.17.1 <code>umf</code> input parameters</h4>
  35. <p>For a square matrix <var>A</var> and a column vector <var>b</var>, the
  36. <code>umf</code> functions find the solution <var>x</var> to the matrix equation
  37. <var>M</var> <var>x</var> = <var>b</var>, where <var>M</var> is either <var>A</var>, the
  38. transpose of <var>A</var>, or its conjugate transpose. As noted above, the
  39. choice is determined by whether the the function name is of the form
  40. *<code>_a_</code>*, *<code>_t_</code>*, or *<code>_c_</code>* respectively.
  41. <p>The argument to any of these functions is a pair
  42. <code>(</code><var>A</var><code>,</code><var>b</var><code>)</code>, where <var>A</var> represents the matrix
  43. mentioned above and <var>b</var> represents the column vector.
  44. <p>The parameter <var>b</var> is required to be a list of numbers whose length
  45. matches the number of rows in the matrix. The numbers are either real
  46. numbers for the <code>di_</code>* functions (<a href="math.html#math">math</a>), or complex
  47. for the <code>zi_</code>* functions (<a href="complex.html#complex">complex</a>).
  48. <p>There is a choice of representations for the parameter <var>A</var>,
  49. depending on whether the function being called is one of the *<code>_trp</code>
  50. functions or one of the *<code>_col</code> functions.
  51. <p>For the *<code>_trp</code> functions, <var>A</var> is represented as a non-empty
  52. list of triples <code>&lt;((</code><var>i</var><code>,</code><var>j</var><code>),</code><var>v</var><code>)...&gt;</code>, where each
  53. item of the list corresponds to a non-zero entry in the matrix.
  54. <ul>
  55. <li>The parameters <var>i</var> and <var>j</var> are natural numbers as in
  56. <a href="Representation-of-Numeric-and-Textual-Data.html#Representation-of-Numeric-and-Textual-Data">Representation of Numeric and Textual Data</a>.
  57. <li>The value <var>v</var> is a real number for the <code>di_</code>*<code>_trp</code> functions or a
  58. complex number for the <code>zi_</code>*<code>_trp</code> functions.
  59. <li>The presence of a triple ((<var>i</var>,<var>j</var>),<var>v</var>) in the list
  60. signifies that the <var>i</var>,<var>j</var>-th entry in the matrix <var>A</var>
  61. (numbered from zero) has a value of <var>v</var>.
  62. </ul>
  63. <p>For the *<code>_col</code> functions, the representation of <var>A</var> is more
  64. complicated but has a slight advantage in memory usage. It may also
  65. have an advantage in speed unless more time is wasted on the virtual
  66. side transforming a matrix to this representation than it saves.
  67. <p>In this case, <var>A</var> is represented by a triple of the form
  68. <code>((</code><var>p</var><code>,</code><var>i</var><code>),</code><var>v</var><code>)</code>. The parameters <var>p</var> and <var>i</var>
  69. are lists of natural numbers. The parameter <var>v</var> is a list of real
  70. numbers for the <code>di_</code>*<code>_col</code> functions and complex numbers
  71. for the <code>zi_</code>*<code>_col</code> functions. They have the following
  72. interpretations.
  73. <ul>
  74. <li><var>v</var>
  75. is the list of non-zero entries in the matrix in
  76. <a name="index-column-major-order-815"></a>column major order.
  77. <li><var>i</var>
  78. has the same length as <var>v</var>, and each item of <var>i</var> is the row
  79. index of the corresponding item in <var>v</var>, numbered from zero.
  80. <li><var>p</var>
  81. has the length of the number of columns in the matrix, and each
  82. item identifies the starting position of a column in <var>v</var> and
  83. <var>i</var>, numbered from zero.
  84. </ul>
  85. <p class="noindent">The first item of <var>p</var> is always zero. Further explanation of this
  86. format in terms of an array representation can be found in the file
  87. <samp><span class="file">UMFPACK_UserGuide.pdf</span></samp>, available from the <code>umf</code> library
  88. home page at <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/SuiteSparse/">http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/SuiteSparse/</a>.
  89. </body></html>