Graphviz
2.41.20171026.1811
|
#include <assert.h>
#include <string.h>
#include "sparse_solve.h"
#include "sfdpinternal.h"
#include "memory.h"
#include "logic.h"
#include "math.h"
#include "arith.h"
#include "types.h"
#include "globals.h"
Go to the source code of this file.
Data Structures | |
struct | uniform_stress_matmul_data |
Functions | |
void | Operator_uniform_stress_matmul_delete (Operator o) |
real * | Operator_uniform_stress_matmul_apply (Operator o, real *x, real *y) |
Operator | Operator_uniform_stress_matmul (SparseMatrix A, real alpha) |
real * | Operator_matmul_apply (Operator o, real *x, real *y) |
Operator | Operator_matmul_new (SparseMatrix A) |
void | Operator_matmul_delete (Operator o) |
real * | Operator_diag_precon_apply (Operator o, real *x, real *y) |
Operator | Operator_uniform_stress_diag_precon_new (SparseMatrix A, real alpha) |
Operator | Operator_diag_precon_new (SparseMatrix A) |
void | Operator_diag_precon_delete (Operator o) |
real | cg (Operator Ax, Operator precond, int n, int dim, real *x0, real *rhs, real tol, int maxit, int *flag) |
real * | jacobi (SparseMatrix A, int dim, real *x0, real *rhs, int maxit, int *flag) |
real | SparseMatrix_solve (SparseMatrix A, int dim, real *x0, real *rhs, real tol, int maxit, int method, int *flag) |
real cg | ( | Operator | Ax, |
Operator | precond, | ||
int | n, | ||
int | dim, | ||
real * | x0, | ||
real * | rhs, | ||
real | tol, | ||
int | maxit, | ||
int * | flag | ||
) |
Definition at line 227 of file sparse_solve.c.
References conjugate_gradient(), FREE, N_GNEW, and real.
Referenced by SparseMatrix_solve().
Definition at line 249 of file sparse_solve.c.
References SparseMatrix_struct::a, assert, for(), FREE, SparseMatrix_struct::ia, SparseMatrix_struct::ja, MALLOC, MATRIX_TYPE_REAL, MEMCPY, SparseMatrix_struct::n, real, and SparseMatrix_struct::type.
Referenced by SparseMatrix_solve().
Definition at line 90 of file sparse_solve.c.
References Operator_struct::data, and real.
Referenced by Operator_diag_precon_new(), and Operator_uniform_stress_diag_precon_new().
void Operator_diag_precon_delete | ( | Operator | o | ) |
Definition at line 157 of file sparse_solve.c.
References Operator_struct::data, and FREE.
Referenced by SparseMatrix_solve().
Operator Operator_diag_precon_new | ( | SparseMatrix | A | ) |
Definition at line 129 of file sparse_solve.c.
References SparseMatrix_struct::a, ABS, assert, Operator_struct::data, for(), SparseMatrix_struct::ia, SparseMatrix_struct::ja, SparseMatrix_struct::m, MATRIX_TYPE_REAL, N_GNEW, Operator_struct::Operator_apply, Operator_diag_precon_apply(), real, and SparseMatrix_struct::type.
Referenced by SparseMatrix_solve().
Definition at line 69 of file sparse_solve.c.
References uniform_stress_matmul_data::A, Operator_struct::data, FALSE, and SparseMatrix_multiply_vector().
Referenced by Operator_matmul_new().
void Operator_matmul_delete | ( | Operator | o | ) |
Operator Operator_matmul_new | ( | SparseMatrix | A | ) |
Definition at line 75 of file sparse_solve.c.
References Operator_struct::data, GNEW, Operator_struct::Operator_apply, and Operator_matmul_apply().
Referenced by SparseMatrix_solve().
Operator Operator_uniform_stress_diag_precon_new | ( | SparseMatrix | A, |
real | alpha | ||
) |
Definition at line 100 of file sparse_solve.c.
References SparseMatrix_struct::a, ABS, assert, Operator_struct::data, for(), SparseMatrix_struct::ia, SparseMatrix_struct::ja, SparseMatrix_struct::m, MALLOC, MATRIX_TYPE_REAL, Operator_struct::Operator_apply, Operator_diag_precon_apply(), real, and SparseMatrix_struct::type.
Operator Operator_uniform_stress_matmul | ( | SparseMatrix | A, |
real | alpha | ||
) |
Definition at line 56 of file sparse_solve.c.
References uniform_stress_matmul_data::A, uniform_stress_matmul_data::alpha, alpha, Operator_struct::data, MALLOC, Operator_struct::Operator_apply, and Operator_uniform_stress_matmul_apply().
Definition at line 37 of file sparse_solve.c.
References uniform_stress_matmul_data::A, uniform_stress_matmul_data::alpha, alpha, Operator_struct::data, FALSE, SparseMatrix_struct::m, real, and SparseMatrix_multiply_vector().
Referenced by Operator_uniform_stress_matmul().
void Operator_uniform_stress_matmul_delete | ( | Operator | o | ) |
Definition at line 33 of file sparse_solve.c.
References Operator_struct::data, and FREE.
real SparseMatrix_solve | ( | SparseMatrix | A, |
int | dim, | ||
real * | x0, | ||
real * | rhs, | ||
real | tol, | ||
int | maxit, | ||
int | method, | ||
int * | flag | ||
) |
Definition at line 296 of file sparse_solve.c.
References assert, cg(), jacobi(), SparseMatrix_struct::m, Operator_diag_precon_delete(), Operator_diag_precon_new(), Operator_matmul_delete(), Operator_matmul_new(), real, SOLVE_METHOD_CG, and SOLVE_METHOD_JACOBI.
Referenced by StressMajorizationSmoother_smooth().