11 #ifndef ma77_default_control 12 #define ma77_control ma77_control_d 13 #define ma77_info ma77_info_d 14 #define ma77_default_control ma77_default_control_d 15 #define ma77_open_nelt ma77_open_nelt_d 16 #define ma77_open ma77_open_d 17 #define ma77_input_vars ma77_input_vars_d 18 #define ma77_input_reals ma77_input_reals_d 19 #define ma77_analyse ma77_analyse_d 20 #define ma77_factor ma77_factor_d 21 #define ma77_factor_solve ma77_factor_solve_d 22 #define ma77_solve ma77_solve_d 23 #define ma77_resid ma77_resid_d 24 #define ma77_scale ma77_scale_d 25 #define ma77_enquire_posdef ma77_enquire_posdef_d 26 #define ma77_enquire_indef ma77_enquire_indef_d 27 #define ma77_alter ma77_alter_d 28 #define ma77_restart ma77_restart_d 29 #define ma77_finalise ma77_finalise_d 30 #define ma77_solve_fredholm ma77_solve_fredholm_d 31 #define ma77_lmultiply ma77_lmultiply_d 306 const char* restart_file,
int action
Keep going even if matrix is singular if true, or abort if false.
void ma77_open_d(const int n, const char *fname1, const char *fname2, const char *fname3, const char *fname4, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
void ma77_solve_fredholm_d(int nrhs, int flag_out[], int lx, ma77pkgtype_d_ x[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const ma77pkgtype_d_ *scale)
ma77pkgtype_d_ consist_tol
Tolerance for consistent singular system.
void ma77_alter_d(ma77pkgtype_d_ d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
void ma77_finalise_d(void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
To clean up memory in keep.
void ma77_enquire_indef_d(int piv_order[], ma77pkgtype_d_ d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
void ma77_default_control_d(struct ma77_control_d *control)
Initialise control with default values.
void ma77_factor_solve_d(const int posdef, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const ma77pkgtype_d_ *scale, const int nrhs, const int lx, ma77pkgtype_d_ rhs[])
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 ma77_restart_d(const char *restart_file, const char *fname1, const char *fname2, const char *fname3, const char *fname4, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
void ma77_enquire_posdef_d(ma77pkgtype_d_ d[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
ma77pkgtype_d_ u
Pivot tolerance.
ma77pkgtype_d_ umin
Minimum pivot tolerance.
void ma77_input_reals_d(const int idx, const int length, const ma77pkgtype_d_ reals[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info)
void ma77_resid_d(const int nrhs, const int lx, const ma77pkgtype_d_ x[], const int lresid, ma77pkgtype_d_ resid[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, ma77pkgtype_d_ *anorm_bnd)
void ma77_solve_d(const int job, const int nrhs, const int lx, ma77pkgtype_d_ x[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const ma77pkgtype_d_ *scale)
To solve AX = B using the computed factors.
int unit_error
unit for error messages
Data type for user controls.
int nemin
Node amalgamation parameter.
ma77pkgtype_d_ multiplier
void ma77_factor_d(const int posdef, void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const ma77pkgtype_d_ *scale)
To factorize the matrix.
int unit_diagnostics
unit for diagnostic messages
data type for returning information to user.
void ma77_scale_d(ma77pkgtype_d_ scale[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, ma77pkgtype_d_ *anorm)
void ma77_lmultiply_d(int trans, int k, int lx, ma77pkgtype_d_ x[], int ly, ma77pkgtype_d_ y[], void **keep, const struct ma77_control_d *control, struct ma77_info_d *info, const ma77pkgtype_d_ *scale)