11 #ifndef ma86_default_control 12 #define ma86_control ma86_control_d 13 #define ma86_info ma86_info_d 14 #define ma86_default_control ma86_default_control_d 15 #define ma86_analyse ma86_analyse_d 16 #define ma86_factor ma86_factor_d 17 #define ma86_factor_solve ma86_factor_solve_d 18 #define ma86_solve ma86_solve_d 19 #define ma86_finalise ma86_finalise_d int scaling
Scaling algorithm to use.
int maxdepth
Maximum depth of the tree.
int unit_error
unit for error messages
int num_delay
Number of delayed pivots.
ma86realtype_d_ umin
Minimum pivot tolerance.
void ma86_solve_d(const int job, const int nrhs, const int ldx, ma86pkgtype_d_ *x, const int order[], void **keep, const struct ma86_control_d *control, struct ma86_info_d *info, const ma86realtype_d_ scale[])
To solve AX = B using the computed factors.
int num_two
Number of 2x2 pivots.
ma86realtype_d_ small_
Pivots less than small are treated as zero.
ma86realtype_d_ u
Pivot tolerance.
void ma86_factor_solve_d(const int n, const int ptr[], const int row[], const ma86pkgtype_d_ val[], const int order[], void **keep, const struct ma86_control_d *control, struct ma86_info_d *info, const int nrhs, const int ldx, ma86pkgtype_d_ x[], const ma86realtype_d_ scale[])
To factorize the matrix AND solve AX = B.
int f_arrays
Treat arrays as 1-based (Fortran) if true or 0-based (C) if false.
void ma86_default_control_d(struct ma86_control_d *control)
Initialise control with default values.
void ma86_factor_d(const int n, const int ptr[], const int row[], const ma86pkgtype_d_ val[], const int order[], void **keep, const struct ma86_control_d *control, struct ma86_info_d *info, const ma86realtype_d_ scale[])
To factorize the matrix.
data type for returning information to user
int unit_diagnostics
unit for diagnostic messages
int nbi
Inner block size for use with ma64.
Data type for user controls.
int pool_size
Maximum size of task pool used.
int num_nothresh
Number of pivots not satisfying u.
long num_flops
Number of flops for factor.
int unit_warning
unit for warning messages
int diagnostics_level
Controls diagnostic printing.
void ma86_finalise_d(void **keep, const struct ma86_control_d *control)
To clean up memory in keep.
ma86realtype_d_ detlog
Holds logarithm of abs det A (or 0)
int matrix_rank
Rank of matrix.
int num_perturbed
Number of perturbed pivots.
void ma86_analyse_d(const int n, const int ptr[], const int row[], int order[], void **keep, const struct ma86_control_d *control, struct ma86_info_d *info)
Analyse the sparsity pattern and prepare for factorization.
int flag
Error return flag (0 on success)
int detsign
Holds sign of determinant (+/-1 or 0)
int num_neg
Number of negative pivots.
ma86realtype_d_ static_
Control static pivoting.
int pool_size
Size of task pool arrays.
int nemin
Node amalgamation parameter.
int stat
STAT value on error return -1.
long num_factor
Number of entries in the factor.
ma86realtype_d_ usmall
smallest threshold parameter used
int num_nodes
Number of nodes.
int action
Keep going even if matrix is singular if true, or abort if false.