ParMooN
 All Classes Functions Variables Friends Pages
amg_solvers.h
1 /****************************************************************************/
2 /* */
3 /* File: amg_solve_solver.h */
4 /* */
5 /* Purpose: header file for amg_solve_solver.c */
6 /* */
7 /* Author: Volker John */
8 /* Otto--von--Guericke Universitaet Magdeburg */
9 /* Institut fuer Analysis und Numerik */
10 /* Postfach 4120 */
11 /* 39016 Magdeburg */
12 /* email : volker.john@mathematik.uni-magdeburg.de */
13 /* */
14 /* History: 1998/08/06 start */
15 /* */
16 /* Remarks: */
17 /* */
18 /****************************************************************************/
19 
20 int prepare_ls_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
21 int clear_ls_solve(AMG_SolverContext *sc,int depth);
22 int ls_solve (AMG_VECTOR *x_in, AMG_VECTOR *b_in);
23 
24 int prepare_cg_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
25 int clear_cg_solve(AMG_SolverContext *sc,int depth);
26 int cg_solve (AMG_VECTOR *x, AMG_VECTOR *b);
27 
28 int prepare_bcgs_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
29 int clear_bcgs_solve(AMG_SolverContext *sc,int depth);
30 int bcgs_solve (AMG_VECTOR *x, AMG_VECTOR *b);
31 
32 int prepare_mixed_bcgs_cgs_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
33 int clear_mixed_bcgs_cgs_solve(AMG_SolverContext *sc,int depth);
34 int mixed_bcgs_cgs_solve (AMG_VECTOR *x, AMG_VECTOR *b);
35 
36 int prepare_gmres_solve(AMG_SolverContext *sc, int *A_length, int *B_length, int depth);
37 int clear_gmres_solve(AMG_SolverContext *sc, int depth);
38 int gmres_left_solve (AMG_VECTOR *x, AMG_VECTOR *b);
39 int gmres_right_solve (AMG_VECTOR *x, AMG_VECTOR *b);
40 
41 int prepare_gmres_flexible_solve(AMG_SolverContext *sc, int *A_length, int *B_length, int depth);
42 int clear_gmres_flexible_solve(AMG_SolverContext *sc, int depth);
43 int gmres_flexible_solve (AMG_VECTOR *x, AMG_VECTOR *b);
44 
45 int prepare_exact_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
46 int clear_exact_solve(AMG_SolverContext *sc);
47 int exact_solve (AMG_VECTOR *x, AMG_VECTOR *b);
48 
49 void AMG_GeneratePlaneRotation(double dx, double dy, double *cs, double *sn);
50 void AMG_ApplyPlaneRotation(double *dx, double *dy, double cs, double sn);
51 void AMG_Update(AMG_VECTOR *x, int Len_x, int k, AMG_VECTOR **h,
52  AMG_VECTOR *s, AMG_VECTOR **v);
53 
54 int prepare_lcd_solve(AMG_SolverContext *sc, int *A_length, int *B_length, int depth);
55 int clear_lcd_solve(AMG_SolverContext *sc, int depth);
56 int lcd_solve (AMG_VECTOR *x, AMG_VECTOR *b);
57 
Definition: amg_sp.h:70
Definition: amg_solve.h:90