QR_MUMPS
qrm_mumps.h
Go to the documentation of this file.
1 /* ##############################################################################################
2 **
3 ** Copyright 2012 CNRS, INPT
4 **
5 ** This file is part of qr_mumps.
6 **
7 ** qr_mumps is free software: you can redistribute it and/or modify
8 ** it under the terms of the GNU Lesser General Public License as
9 ** published by the Free Software Foundation, either version 3 of
10 ** the License, or (at your option) any later version.
11 **
12 ** qr_mumps is distributed in the hope that it will be useful,
13 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ** GNU Lesser General Public License for more details.
16 **
17 ** You can find a copy of the GNU Lesser General Public License
18 ** in the qr_mumps/doc directory.
19 **
20 ** ##############################################################################################*/
21 
22 
23 /*##############################################################################################*/
33 /*##############################################################################################*/
34 
35 #if defined(zprec) || defined(cprec)
36 #include <complex.h>
37 #endif
38 
39 #include <string.h>
40 
42  int *irn, *jcn;
43  _qrm_data_c *val;
44  int m, n, nz;
45  int *cperm_in, *rperm, *cperm;
46  int icntl[20];
47  double rcntl[10];
48  long int gstats[10];
49  int h;
50  void *mat_ptr;
51 };
52 
53 
54 double qrm_swtime();
55 void _qrm_get_r_c(struct _qrm_spmat_type_c *qrm_spmat_c, struct _qrm_spmat_type_c *r);
56 void _qrm_spmat_init_c(struct _qrm_spmat_type_c *qrm_spmat_c);
57 void _qrm_spmat_destroy_c(struct _qrm_spmat_type_c *qrm_spmat_c);
58 void _qrm_readmat_c(char *matfile, struct _qrm_spmat_type_c *qrm_spmat_c);
59 void _qrm_analyse_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp);
60 void _qrm_factorize_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp);
61 void _qrm_solve_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp,
62  _qrm_data_c *b, _qrm_data_c *x, const int nrhs);
63 void _qrm_apply_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp,
64  _qrm_data_c *b, const int nrhs);
65 void _qrm_matmul_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp,
66  const _qrm_data_c alpha, _qrm_data_c *x,
67  const _qrm_data_c beta, _qrm_data_c *y,
68  const int nrhs);
69 void _qrm_matnrm_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char ntype,
70  _qrm_real_c *nrm);
71 void _qrm_vecnrm_c(const _qrm_data_c *x, const int n, const int nrhs,
72  const char ntype, _qrm_real_c *nrm);
73 void _qrm_least_squares_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b,
74  _qrm_data_c *x, const int nrhs);
75 void _qrm_min_norm_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b,
76  _qrm_data_c *x, const int nrhs);
77 void _qrm_residual_norm_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b,
78  _qrm_data_c *x, const int nrhs, _qrm_real_c *nrm);
79 void _qrm_residual_orth_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *r,
80  const int nrhs, _qrm_real_c *nrm);
81 
82 void qrm_gseti_c(const char *string, int val);
83 void qrm_ggeti_c(const char *string, int *val);
84 void qrm_ggetii_c(const char *string, long long *val);
85 
86 void _qrm_pseti_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, int val);
87 void _qrm_pgeti_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, int *val);
88 void _qrm_pgetii_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, long long *val);
89 void qrm_err_check_c();
90 
91 enum icntl{
100 
101 enum rcntl{
103 
104 enum ords{
111 
112 enum gstats{
119 
120 
121 
122 };
123 
124 enum yn{
void _qrm_residual_orth_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *r, const int nrhs, _qrm_real_c *nrm)
rcntl
Definition: dqrm_mumps.h:101
void _qrm_solve_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp, _qrm_data_c *b, _qrm_data_c *x, const int nrhs)
void qrm_err_check_c()
C equivalent of the _qrm_error_mod::_qrm_error_check routine.
void _qrm_vecnrm_c(const _qrm_data_c *x, const int n, const int nrhs, const char ntype, _qrm_real_c *nrm)
void _qrm_pgeti_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, int *val)
double qrm_swtime()
Definition: qrm_get_wtime.c:40
void _qrm_get_r_c(struct _qrm_spmat_type_c *qrm_spmat_c, struct _qrm_spmat_type_c *r)
_qrm_data_c * val
Definition: qrm_mumps.h:43
icntl
Definition: dqrm_mumps.h:91
void _qrm_analyse_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp)
void _qrm_spmat_init_c(struct _qrm_spmat_type_c *qrm_spmat_c)
void _qrm_min_norm_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b, _qrm_data_c *x, const int nrhs)
void _qrm_spmat_destroy_c(struct _qrm_spmat_type_c *qrm_spmat_c)
void qrm_ggetii_c(const char *string, long long *val)
void qrm_ggeti_c(const char *string, int *val)
void _qrm_factorize_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp)
void _qrm_residual_norm_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b, _qrm_data_c *x, const int nrhs, _qrm_real_c *nrm)
yn
Definition: dqrm_mumps.h:124
gstats
Definition: dqrm_mumps.h:112
void _qrm_pgetii_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, long long *val)
ords
Definition: dqrm_mumps.h:104
void _qrm_readmat_c(char *matfile, struct _qrm_spmat_type_c *qrm_spmat_c)
void _qrm_least_squares_c(struct _qrm_spmat_type_c *qrm_spmat_c, _qrm_data_c *b, _qrm_data_c *x, const int nrhs)
void qrm_gseti_c(const char *string, int val)
void _qrm_apply_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp, _qrm_data_c *b, const int nrhs)
void _qrm_pseti_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char *string, int val)
void _qrm_matnrm_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char ntype, _qrm_real_c *nrm)
void _qrm_matmul_c(struct _qrm_spmat_type_c *qrm_spmat_c, const char transp, const _qrm_data_c alpha, _qrm_data_c *x, const _qrm_data_c beta, _qrm_data_c *y, const int nrhs)