|
kusano |
7d535a |
|
|
kusano |
7d535a |
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
|
|
kusano |
7d535a |
<title>SuperLU: SRC/sldperm.c File Reference</title>
|
|
kusano |
7d535a |
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
kusano |
7d535a |
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Main Page
|
|
kusano |
7d535a |
Data Structures
|
|
kusano |
7d535a |
Files
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
SRC/sldperm.c File ReferenceFinds a row permutation so that the matrix has large entries on the diagonal. More...
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#include "slu_sdefs.h"
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Functions
|
|
kusano |
7d535a |
int_t mc64id_ (int_t *)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t mc64ad_ (int_t *, int_t *, int_t *, int_t[], int_t[], double[], int_t *, int_t[], int_t *, int_t[], int_t *, double[], int_t[], int_t[])
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int sldperm (int_t job, int_t n, int_t nnz, int_t colptr[], int_t adjncy[], float nzval[], int_t *perm, float u[], float v[])
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Detailed Description
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
-- SuperLU routine (version 4.0) --
|
|
kusano |
7d535a |
Lawrence Berkeley National Laboratory.
|
|
kusano |
7d535a |
June 30, 2009
|
|
kusano |
7d535a |
Function Documentation
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t mc64ad_
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
double
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
double
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
[]
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t mc64id_
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int sldperm
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
job,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
n,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
nnz,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
colptr[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t
|
|
kusano |
7d535a |
adjncy[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
float
|
|
kusano |
7d535a |
nzval[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int_t *
|
|
kusano |
7d535a |
perm,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
float
|
|
kusano |
7d535a |
u[],
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
float
|
|
kusano |
7d535a |
v[]
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Purpose
|
|
kusano |
7d535a |
=======
|
|
kusano |
7d535a |
SLDPERM finds a row permutation so that the matrix has large
|
|
kusano |
7d535a |
entries on the diagonal.
|
|
kusano |
7d535a |
Arguments
|
|
kusano |
7d535a |
=========
|
|
kusano |
7d535a |
job (input) int
|
|
kusano |
7d535a |
Control the action. Possible values for JOB are:
|
|
kusano |
7d535a |
= 1 : Compute a row permutation of the matrix so that the
|
|
kusano |
7d535a |
permuted matrix has as many entries on its diagonal as
|
|
kusano |
7d535a |
possible. The values on the diagonal are of arbitrary size.
|
|
kusano |
7d535a |
HSL subroutine MC21A/AD is used for this.
|
|
kusano |
7d535a |
= 2 : Compute a row permutation of the matrix so that the smallest
|
|
kusano |
7d535a |
value on the diagonal of the permuted matrix is maximized.
|
|
kusano |
7d535a |
= 3 : Compute a row permutation of the matrix so that the smallest
|
|
kusano |
7d535a |
value on the diagonal of the permuted matrix is maximized.
|
|
kusano |
7d535a |
The algorithm differs from the one used for JOB = 2 and may
|
|
kusano |
7d535a |
have quite a different performance.
|
|
kusano |
7d535a |
= 4 : Compute a row permutation of the matrix so that the sum
|
|
kusano |
7d535a |
of the diagonal entries of the permuted matrix is maximized.
|
|
kusano |
7d535a |
= 5 : Compute a row permutation of the matrix so that the product
|
|
kusano |
7d535a |
of the diagonal entries of the permuted matrix is maximized
|
|
kusano |
7d535a |
and vectors to scale the matrix so that the nonzero diagonal
|
|
kusano |
7d535a |
entries of the permuted matrix are one in absolute value and
|
|
kusano |
7d535a |
all the off-diagonal entries are less than or equal to one in
|
|
kusano |
7d535a |
absolute value.
|
|
kusano |
7d535a |
Restriction: 1 <= JOB <= 5.
|
|
kusano |
7d535a |
n (input) int
|
|
kusano |
7d535a |
The order of the matrix.
|
|
kusano |
7d535a |
nnz (input) int
|
|
kusano |
7d535a |
The number of nonzeros in the matrix.
|
|
kusano |
7d535a |
adjncy (input) int*, of size nnz
|
|
kusano |
7d535a |
The adjacency structure of the matrix, which contains the row
|
|
kusano |
7d535a |
indices of the nonzeros.
|
|
kusano |
7d535a |
colptr (input) int*, of size n+1
|
|
kusano |
7d535a |
The pointers to the beginning of each column in ADJNCY.
|
|
kusano |
7d535a |
nzval (input) float*, of size nnz
|
|
kusano |
7d535a |
The nonzero values of the matrix. nzval[k] is the value of
|
|
kusano |
7d535a |
the entry corresponding to adjncy[k].
|
|
kusano |
7d535a |
It is not used if job = 1.
|
|
kusano |
7d535a |
perm (output) int*, of size n
|
|
kusano |
7d535a |
The permutation vector. perm[i] = j means row i in the
|
|
kusano |
7d535a |
original matrix is in row j of the permuted matrix.
|
|
kusano |
7d535a |
u (output) double*, of size n
|
|
kusano |
7d535a |
If job = 5, the natural logarithms of the row scaling factors.
|
|
kusano |
7d535a |
v (output) double*, of size n
|
|
kusano |
7d535a |
If job = 5, the natural logarithms of the column scaling factors.
|
|
kusano |
7d535a |
The scaled matrix B has entries b_ij = a_ij * exp(u_i + v_j).
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
<address style="text-align: right;"><small>Generated on Mon Nov 22 10:23:48 2010 for SuperLU by </small></address>
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
1.5.5
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|