UMFControl

class sksparse.umfpack.UMFControl[source]

The class used to manage UMFPACK control parameters.

print_level[source]

The verbosity level. Values vary depending on the function called, but typically “0” means no printing, and higher values mean more verbose printing. Default value is 1.

Type:

int

dense_row, dense_col

A row or column is considered to be dense if it has more than max(16, dense_[row|col] * 16 * sqrt(n_[row|col]) entries. Default 0.2.

Type:

int

blas3_block_size[source]

The block size to use in Level-3 BLAS operations. Default value is 32.

Type:

int

strategy[source]

The strategy to use in the factorization. Default value is auto. Possible values are:

  • auto: choose the strategy automatically

  • unsymmetric: order the columns of \(A\) with COLAMD

  • symmetric: Order the matrix \(A + A^{\top}\) with AMD

Type:

str

ordering_method[source]

The ordering method to use. Default value is amd. Possible values are:

  • cholmod: use AMD/COLAMD, then METIS

  • amd: just use AMD or COLAMD

  • given: use the user-provided ordering

  • none: no ordering

  • metis: use METIS on \(A + A^{\top}\) or \(A^{\top} A\)

  • best: try AMD/COLAMD, METIS and NESDIS

  • user: use the user-provided function to compute the ordering

  • metis_guard: use METIS for symmetric strategy, try METIS for unsymmetric and fall back to COLAMD if \(A\) has many dense rows.

Type:

str

fixQ[source]

Default 0. Possible values:

  • -1: possibly modify \(Q\) during numeric factorization.

  • 0: automatic. Modify \(Q\) only if strategy is unsymmetric.

  • 1: do not modify \(Q\) during numeric factorization.

Type:

int

amd_dense[source]

Rows/columns in \(A + A^{\top}\) with more than max(16, amd_dense * sqrt(n)) entries (where n = n_row = n_col) are ignored in the AMD pre-ordering. Default 10.

Type:

int

aggressive[source]

If True, use aggressive absorption in AMD. Default True.

Type:

bool

singletons[source]

If True, remove singletons prior to factorization. Default True.

Type:

bool

pivot_tol[source]

The relative pivot tolerance for partial pivoting with row interchanges. The absolute value of the entry must be >= pivot_tol * largest absolute value in that column. pivot_tol=1.0 gives true partial pivoting. If pivot_tol <= 0.0, then any non-zero entry is acceptable as a pivot. Default value is 0.1.

Type:

float

sym_pivot_tol[source]

The relative pivot tolerance for symmetric strategy. Default 0.001.

Type:

float

row_scale[source]

The row scaling to use. Default value is 'sum'. Possible values are:

  • None or 'none': no row scaling

  • 'sum': divide each row by sum(abs(A[i,:]))

  • 'max': divide each row by max(abs(A[i,:]))

Type:

str or None

alloc_init[source]

Estimated space for the memory to allocate for numeric factorization. Default 0.7.

Type:

float

front_alloc_init[source]

Estimated space for the memory to allocate for frontal matrices. Default 0.5.

Type:

float

droptol[source]

Drop tolerance for small entries in \(L\) and \(U\). Default value is 0.0 (no dropping).

Type:

float

ir_steps[source]

Number of iterative refinement steps to perform. Default value is 2.

Type:

int

compiles_with_blas[source]

True if UMFPACK was compiled with BLAS support. Read-only.

Type:

bool

sym_thresh[source]

Threshold for choosing symmetric strategy. Default 0.3.

Type:

float

nnzdiag_thresh[source]

Threshold for choosing unsymmetric strategy based on the number of diagonal entries. Default 0.9.

Type:

float

Added in version 0.5.0.

Methods

__init__

report

Print a report of the control structure to stdout.