umf input parametersFor a square matrix A and a column vector b, the
umf functions find the solution x to the matrix equation
M x = b, where M is either A, the
transpose of A, or its conjugate transpose. As noted above, the
choice is determined by whether the the function name is of the form
*_a_*, *_t_*, or *_c_* respectively.
The argument to any of these functions is a pair
(A,b), where A represents the matrix
mentioned above and b represents the column vector.
The parameter b is required to be a list of numbers whose length
matches the number of rows in the matrix. The numbers are either real
numbers for the di_* functions (math), or complex
for the zi_* functions (complex).
There is a choice of representations for the parameter A,
depending on whether the function being called is one of the *_trp
functions or one of the *_col functions.
For the *_trp functions, A is represented as a non-empty
list of triples <((i,j),v)...>, where each
item of the list corresponds to a non-zero entry in the matrix.
di_*_trp functions or a
complex number for the zi_*_trp functions.
For the *_col functions, the representation of A is more
complicated but has a slight advantage in memory usage. It may also
have an advantage in speed unless more time is wasted on the virtual
side transforming a matrix to this representation than it saves.
In this case, A is represented by a triple of the form
((p,i),v). The parameters p and i
are lists of natural numbers. The parameter v is a list of real
numbers for the di_*_col functions and complex numbers
for the zi_*_col functions. They have the following
interpretations.
The first item of p is always zero. Further explanation of this
format in terms of an array representation can be found in the file
UMFPACK_UserGuide.pdf, available from the umf library
home page at http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/SuiteSparse/.