Ipopt Documentation  
 
Loading...
Searching...
No Matches
hsl_ma86d.h
Go to the documentation of this file.
1/* COPYRIGHT (c) 2011 Science and Technology Facilities Council (STFC)
2 * All Rights Reserved.
3 * This code is published under the Eclipse Public License.
4 *
5 * Authors: Jonathan Hogg STFC 2011-02-25
6 */
7
8#ifndef HSL_MA86D_H
9#define HSL_MA86D_H
10
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
20#endif
21
22typedef double ma86pkgtype_d_;
23typedef double ma86realtype_d_;
24
30{
75 int nemin;
76 /* Controls the size of the blocks used within each node (used to set nb within node_type
77 */
78 int nb;
85 int action;
87 int nbi;
100};
101
102/***************************************************/
103
106{
109 int flag;
121 int stat;
123};
124
127 struct ma86_control_d* control
128);
129
132 const int n,
133 const int ptr[],
134 const int row[],
135 int order[],
136 void** keep,
137 const struct ma86_control_d* control,
138 struct ma86_info_d* info
139);
140
143 const int n,
144 const int ptr[],
145 const int row[],
146 const ma86pkgtype_d_ val[],
147 const int order[],
148 void** keep,
149 const struct ma86_control_d* control,
150 struct ma86_info_d* info,
151 const ma86realtype_d_ scale[]
152);
153
156 const int n,
157 const int ptr[],
158 const int row[],
159 const ma86pkgtype_d_ val[],
160 const int order[],
161 void** keep,
162 const struct ma86_control_d* control,
163 struct ma86_info_d* info,
164 const int nrhs,
165 const int ldx,
166 ma86pkgtype_d_ x[],
167 const ma86realtype_d_ scale[]
168);
169
172 const int job,
173 const int nrhs,
174 const int ldx,
176 const int order[],
177 void** keep,
178 const struct ma86_control_d* control,
179 struct ma86_info_d* info,
180 const ma86realtype_d_ scale[]
181);
182
185 void** keep,
186 const struct ma86_control_d* control
187);
188
189#endif
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.
void ma86_finalise_d(void **keep, const struct ma86_control_d *control)
To clean up memory in keep.
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.
double ma86realtype_d_
Definition: hsl_ma86d.h:23
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.
double ma86pkgtype_d_
Definition: hsl_ma86d.h:22
void ma86_default_control_d(struct ma86_control_d *control)
Initialise control with default values.
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.
Data type for user controls.
Definition: hsl_ma86d.h:30
int diagnostics_level
Controls diagnostic printing.
Definition: hsl_ma86d.h:50
int nemin
Node amalgamation parameter.
Definition: hsl_ma86d.h:75
ma86realtype_d_ static_
Control static pivoting.
Definition: hsl_ma86d.h:93
ma86realtype_d_ u
Pivot tolerance.
Definition: hsl_ma86d.h:95
int unit_warning
unit for warning messages
Definition: hsl_ma86d.h:65
int unit_diagnostics
unit for diagnostic messages
Definition: hsl_ma86d.h:55
int unit_error
unit for error messages
Definition: hsl_ma86d.h:60
int action
Keep going even if matrix is singular if true, or abort if false.
Definition: hsl_ma86d.h:85
ma86realtype_d_ small_
Pivots less than small are treated as zero.
Definition: hsl_ma86d.h:91
int scaling
Scaling algorithm to use.
Definition: hsl_ma86d.h:99
int f_arrays
Treat arrays as 1-based (Fortran) if true or 0-based (C) if false.
Definition: hsl_ma86d.h:35
int pool_size
Size of task pool arrays.
Definition: hsl_ma86d.h:89
ma86realtype_d_ umin
Minimum pivot tolerance.
Definition: hsl_ma86d.h:97
int nbi
Inner block size for use with ma64.
Definition: hsl_ma86d.h:87
data type for returning information to user
Definition: hsl_ma86d.h:106
long num_flops
Number of flops for factor.
Definition: hsl_ma86d.h:114
int num_delay
Number of delayed pivots.
Definition: hsl_ma86d.h:112
int stat
STAT value on error return -1.
Definition: hsl_ma86d.h:121
ma86realtype_d_ usmall
smallest threshold parameter used
Definition: hsl_ma86d.h:122
int num_nodes
Number of nodes.
Definition: hsl_ma86d.h:116
int num_two
Number of 2x2 pivots.
Definition: hsl_ma86d.h:119
int matrix_rank
Rank of matrix.
Definition: hsl_ma86d.h:110
int pool_size
Maximum size of task pool used.
Definition: hsl_ma86d.h:120
int num_nothresh
Number of pivots not satisfying u.
Definition: hsl_ma86d.h:117
int num_neg
Number of negative pivots.
Definition: hsl_ma86d.h:115
int num_perturbed
Number of perturbed pivots.
Definition: hsl_ma86d.h:118
int detsign
Holds sign of determinant (+/-1 or 0)
Definition: hsl_ma86d.h:108
int maxdepth
Maximum depth of the tree.
Definition: hsl_ma86d.h:111
long num_factor
Number of entries in the factor.
Definition: hsl_ma86d.h:113
ma86realtype_d_ detlog
Holds logarithm of abs det A (or 0)
Definition: hsl_ma86d.h:107
int flag
Error return flag (0 on success)
Definition: hsl_ma86d.h:109