#include "ml_common.h"
#include "ml_defs.h"
#include "ml_memory.h"
#include "ml_bdrypts.h"
#include "ml_1level.h"
#include "ml_operatoragx.h"
#include "ml_vec.h"
#include "ml_gridagx.h"
#include "ml_mls.h"
#include "ml_utils.h"
#include "ml_op_utils.h"
Go to the source code of this file.
Classes | |
struct | ML_Function_Struct |
struct | ML_GetrowFunc_Struct |
struct | ML_Operator_Subspace_Struct |
struct | ML_Aux_Data |
struct | ML_Operator_Struct |
This data structure defines an enriched operator class for the specification of the discretization matrix, the restriction and the prolongation operator. More... | |
struct | amalg_drop |
struct | ml_matscale |
struct | ml_matvscale |
Defines | |
#define | ML_TYPE_UNKNOWN 0 |
#define | ML_TYPE_ROW_MATRIX 1 |
#define | ML_TYPE_CRS_MATRIX 2 |
#define | ML_TYPE_VBR_MATRIX 3 |
Typedefs | |
typedef struct ML_Operator_Subspace_Struct | ML_Operator_Subspace |
typedef struct ML_Operator_Struct | ML_Operator |
typedef struct ML_Function_Struct | ML_Function |
typedef struct ML_GetrowFunc_Struct | ML_GetrowFunc |
Functions | |
void | ML_Aux_Data_Create (ML_Aux_Data **ptr) |
void | ML_Aux_Data_Destroy (ML_Aux_Data **ptr) |
ML_Aux_Data * | ML_Aux_Data_Clone (ML_Aux_Data *original) |
int | ML_Operator_BlockPartition (ML_Operator *matrix, int n, int *nblks, int *pnode_part, ML_Partitioner which_partitioner, double *x_coord, double *y_coord, double *z_coord, int num_PDE_eqns) |
ML_Operator * | ML_Operator_Create (ML_Comm *comm) |
int | ML_Operator_Destroy (ML_Operator **) |
ML_Operator * | ML_Operator_halfClone (ML_Operator *original) |
int | ML_Operator_halfClone_Init (ML_Operator *mat, ML_Operator *original) |
int | ML_Operator_halfClone_Clean (ML_Operator *mat) |
int | ML_Operator_halfClone_Destroy (ML_Operator **mat) |
int | ML_Operator_Init (ML_Operator *, ML_Comm *comm) |
int | ML_Operator_Clean (ML_Operator *) |
int | ML_Operator_Dump (ML_Operator *Ke, double *, double *, char *str, int) |
int | ML_Operator_Set_Label (ML_Operator *, char *str) |
int | ML_Operator_Set_1Levels (ML_Operator *, ML_1Level *, ML_1Level *) |
int | ML_Operator_Set_BdryPts (ML_Operator *, ML_BdryPts *) |
int | ML_Operator_Set_ApplyFuncData (ML_Operator *, int, int, void *, int, int(*func)(ML_Operator *, int, double *, int, double *), int) |
int | ML_Operator_Set_ApplyFunc (ML_Operator *, int(*func)(ML_Operator *, int, double *, int, double *)) |
int | ML_Operator_Set_Diag (ML_Operator *, int, double *) |
int | ML_Operator_Set_Getrow (ML_Operator *, int, int(*func)(ML_Operator *, int, int *, int, int *, double *, int *)) |
int | ML_Operator_Getrow (ML_Operator *, int, int *, int, int *, double *, int *) |
int | ML_Operator_Get_Diag (ML_Operator *Amat, int length, double **diag) |
int | ML_Operator_Apply (ML_Operator *, int, double *, int, double *) |
int | ML_Operator_ApplyAndResetBdryPts (ML_Operator *, int, double *, int olen, double *) |
int | ML_Operator_Add (ML_Operator *A, ML_Operator *B, ML_Operator *C, int matrix_type, double scalar) |
int | ML_Operator_MoveFromHierarchyAndClean (ML_Operator *newmat, ML_Operator *hier) |
int | ML_Operator_Move2HierarchyAndDestroy (ML_Operator **newmat, ML_Operator *hier) |
int | ML_Operator_Transpose (ML_Operator *Amat, ML_Operator *Amat_trans) |
int | ML_Operator_Check_Getrow (ML_Operator *, int, char *) |
double | ML_Operator_MaxNorm (ML_Operator *matrix, int divide_diag) |
int | ML_Operator_Print (ML_Operator *matrix, const char label[]) |
int | ML_Operator_ComputeNumNzs (ML_Operator *matrix) |
int | ML_implicitscale_Getrow (ML_Operator *data, int N_requested_rows, int requested_rows[], int allocated_space, int columns[], double values[], int row_lengths[]) |
int | ML_implicitscale_Matvec (ML_Operator *Amat_in, int ilen, double p[], int olen, double ap[]) |
ML_Operator * | ML_Operator_ImplicitlyScale (ML_Operator *Amat, double scalar, int OnDestroy_FreeChild) |
void | ML_implicitscale_Destroy (void *data) |
int | ML_implicitvscale_Getrow (ML_Operator *data, int N_requested_rows, int requested_rows[], int allocated_space, int columns[], double values[], int row_lengths[]) |
int | ML_implicitvscale_Matvec (ML_Operator *Amat_in, int ilen, double p[], int olen, double ap[]) |
ML_Operator * | ML_Operator_ImplicitlyVScale (ML_Operator *Amat, double *scale, int OnDestroy_FreeChild) |
int | ML_Operator_ExplicitDinvA (int BlockSize, struct MLSthing *Dinv, ML_Operator *A) |
ML_Operator * | ML_Operator_ImplicitlyBlockDinvScale (ML_Operator *Amat) |
void | ML_implicitvscale_Destroy (void *data) |
int | ML_implicitvcscale_Getrow (ML_Operator *data, int N_requested_rows, int requested_rows[], int allocated_space, int columns[], double values[], int row_lengths[]) |
ML_Operator * | ML_Operator_ImplicitlyVCScale (ML_Operator *Amat, double *scale, int OnDestroy_FreeChild) |
int | ML_CSR_DropSmall (ML_Operator *Pe, double AbsoluteDrop, double RelativeRowDrop, double RelativeColDrop) |
ML_Operator * | ML_CSRmatrix_ColumnSubset (ML_Operator *Amat, int Nsubset, int subset[]) |
int | ML_Operator_Set_SpectralNormScheme_Calc (ML_Operator *mat) |
int | ML_Operator_Set_SpectralNormScheme_Anorm (ML_Operator *mat) |
int | ML_Operator_Set_SpectralNormScheme_Anasazi (ML_Operator *mat) |
int | ML_Operator_Set_SpectralNormScheme_PowerMethod (ML_Operator *mat) |
int | ML_Operator_Set_SpectralNorm_Iterations (ML_Operator *mat, int its) |
int | ML_Operator_AmalgamateAndDropWeak (ML_Operator *Amat, int block_size, double drop_tolerance) |
int | ML_Operator_UnAmalgamateAndDropWeak (ML_Operator *Amat, int block_size, double drop_tolerance) |
int | ML_amalg_drop_getrow (ML_Operator *data, int N_requested_rows, int requested_rows[], int allocated_space, int columns[], double values[], int row_lengths[]) |
int | ML_Operator_GetDistributedDiagBlocks (ML_Operator *mat, int *blkinfo, int **new_ja, double **new_aa) |
double | ML_Operator_GetMaxEig (ML_Operator *Amat) |
ML_Operator ** | ML_Operator_ArrayCreate (int length) |
int | ML_Operator_ArrayDestroy (ML_Operator **array, int length) |
int | ML_Operator_SetSubspace (ML *ml, double **vectors, int numvecs, int vecleng) |
int | ML_Operator_Amalgamate_Vec_Trans (ML_Operator *Amat, int *blocked, int **unblocked, int *size) |
int | AZ_get_MSR_arrays (ML_Operator *, int **bindx, double **val) |
int | ML_Operator_GetFlops (ML_Operator *mat) |
void | ML_Operator_GetGlobalDimensions (ML_Operator *A, int *nrows, int *ncols) |
int | ML_Operator_MisRootPts (ML_Operator *Amatrix, int num_PDE_eqns, int **) |
int | ML_Epetra_CRSinsert (ML_Operator *, int, int *, double *, int) |
#define ML_TYPE_CRS_MATRIX 2 |
#define ML_TYPE_ROW_MATRIX 1 |
#define ML_TYPE_UNKNOWN 0 |
#define ML_TYPE_VBR_MATRIX 3 |
typedef struct ML_Function_Struct ML_Function |
typedef struct ML_GetrowFunc_Struct ML_GetrowFunc |
typedef struct ML_Operator_Struct ML_Operator |
typedef struct ML_Operator_Subspace_Struct ML_Operator_Subspace |
int AZ_get_MSR_arrays | ( | ML_Operator * | , | |
int ** | bindx, | |||
double ** | val | |||
) |
int ML_amalg_drop_getrow | ( | ML_Operator * | data, | |
int | N_requested_rows, | |||
int | requested_rows[], | |||
int | allocated_space, | |||
int | columns[], | |||
double | values[], | |||
int | row_lengths[] | |||
) |
ML_Aux_Data* ML_Aux_Data_Clone | ( | ML_Aux_Data * | original | ) |
void ML_Aux_Data_Create | ( | ML_Aux_Data ** | ptr | ) |
void ML_Aux_Data_Destroy | ( | ML_Aux_Data ** | ptr | ) |
int ML_CSR_DropSmall | ( | ML_Operator * | Pe, | |
double | AbsoluteDrop, | |||
double | RelativeRowDrop, | |||
double | RelativeColDrop | |||
) |
ML_Operator* ML_CSRmatrix_ColumnSubset | ( | ML_Operator * | Amat, | |
int | Nsubset, | |||
int | subset[] | |||
) |
int ML_Epetra_CRSinsert | ( | ML_Operator * | , | |
int | , | |||
int * | , | |||
double * | , | |||
int | ||||
) |
void ML_implicitscale_Destroy | ( | void * | data | ) |
int ML_implicitscale_Getrow | ( | ML_Operator * | data, | |
int | N_requested_rows, | |||
int | requested_rows[], | |||
int | allocated_space, | |||
int | columns[], | |||
double | values[], | |||
int | row_lengths[] | |||
) |
int ML_implicitscale_Matvec | ( | ML_Operator * | Amat_in, | |
int | ilen, | |||
double | p[], | |||
int | olen, | |||
double | ap[] | |||
) |
int ML_implicitvcscale_Getrow | ( | ML_Operator * | data, | |
int | N_requested_rows, | |||
int | requested_rows[], | |||
int | allocated_space, | |||
int | columns[], | |||
double | values[], | |||
int | row_lengths[] | |||
) |
void ML_implicitvscale_Destroy | ( | void * | data | ) |
int ML_implicitvscale_Getrow | ( | ML_Operator * | data, | |
int | N_requested_rows, | |||
int | requested_rows[], | |||
int | allocated_space, | |||
int | columns[], | |||
double | values[], | |||
int | row_lengths[] | |||
) |
int ML_implicitvscale_Matvec | ( | ML_Operator * | Amat_in, | |
int | ilen, | |||
double | p[], | |||
int | olen, | |||
double | ap[] | |||
) |
int ML_Operator_Add | ( | ML_Operator * | A, | |
ML_Operator * | B, | |||
ML_Operator * | C, | |||
int | matrix_type, | |||
double | scalar | |||
) |
int ML_Operator_Amalgamate_Vec_Trans | ( | ML_Operator * | Amat, | |
int * | blocked, | |||
int ** | unblocked, | |||
int * | size | |||
) |
int ML_Operator_AmalgamateAndDropWeak | ( | ML_Operator * | Amat, | |
int | block_size, | |||
double | drop_tolerance | |||
) |
int ML_Operator_Apply | ( | ML_Operator * | , | |
int | , | |||
double * | , | |||
int | , | |||
double * | ||||
) |
int ML_Operator_ApplyAndResetBdryPts | ( | ML_Operator * | , | |
int | , | |||
double * | , | |||
int | olen, | |||
double * | ||||
) |
ML_Operator** ML_Operator_ArrayCreate | ( | int | length | ) |
int ML_Operator_ArrayDestroy | ( | ML_Operator ** | array, | |
int | length | |||
) |
int ML_Operator_BlockPartition | ( | ML_Operator * | matrix, | |
int | n, | |||
int * | nblks, | |||
int * | pnode_part, | |||
ML_Partitioner | which_partitioner, | |||
double * | x_coord, | |||
double * | y_coord, | |||
double * | z_coord, | |||
int | num_PDE_eqns | |||
) |
int ML_Operator_Check_Getrow | ( | ML_Operator * | , | |
int | , | |||
char * | ||||
) |
int ML_Operator_Clean | ( | ML_Operator * | ) |
int ML_Operator_ComputeNumNzs | ( | ML_Operator * | matrix | ) |
ML_Operator* ML_Operator_Create | ( | ML_Comm * | comm | ) |
int ML_Operator_Destroy | ( | ML_Operator ** | ) |
int ML_Operator_Dump | ( | ML_Operator * | Ke, | |
double * | , | |||
double * | , | |||
char * | str, | |||
int | ||||
) |
int ML_Operator_ExplicitDinvA | ( | int | BlockSize, | |
struct MLSthing * | Dinv, | |||
ML_Operator * | A | |||
) |
int ML_Operator_Get_Diag | ( | ML_Operator * | Amat, | |
int | length, | |||
double ** | diag | |||
) |
int ML_Operator_GetDistributedDiagBlocks | ( | ML_Operator * | mat, | |
int * | blkinfo, | |||
int ** | new_ja, | |||
double ** | new_aa | |||
) |
int ML_Operator_GetFlops | ( | ML_Operator * | mat | ) |
void ML_Operator_GetGlobalDimensions | ( | ML_Operator * | A, | |
int * | nrows, | |||
int * | ncols | |||
) |
double ML_Operator_GetMaxEig | ( | ML_Operator * | Amat | ) |
int ML_Operator_Getrow | ( | ML_Operator * | , | |
int | , | |||
int * | , | |||
int | , | |||
int * | , | |||
double * | , | |||
int * | ||||
) |
ML_Operator* ML_Operator_halfClone | ( | ML_Operator * | original | ) |
int ML_Operator_halfClone_Clean | ( | ML_Operator * | mat | ) |
int ML_Operator_halfClone_Destroy | ( | ML_Operator ** | mat | ) |
int ML_Operator_halfClone_Init | ( | ML_Operator * | mat, | |
ML_Operator * | original | |||
) |
ML_Operator* ML_Operator_ImplicitlyBlockDinvScale | ( | ML_Operator * | Amat | ) |
ML_Operator* ML_Operator_ImplicitlyScale | ( | ML_Operator * | Amat, | |
double | scalar, | |||
int | OnDestroy_FreeChild | |||
) |
ML_Operator* ML_Operator_ImplicitlyVCScale | ( | ML_Operator * | Amat, | |
double * | scale, | |||
int | OnDestroy_FreeChild | |||
) |
ML_Operator* ML_Operator_ImplicitlyVScale | ( | ML_Operator * | Amat, | |
double * | scale, | |||
int | OnDestroy_FreeChild | |||
) |
int ML_Operator_Init | ( | ML_Operator * | , | |
ML_Comm * | comm | |||
) |
double ML_Operator_MaxNorm | ( | ML_Operator * | matrix, | |
int | divide_diag | |||
) |
int ML_Operator_MisRootPts | ( | ML_Operator * | Amatrix, | |
int | num_PDE_eqns, | |||
int ** | ||||
) |
int ML_Operator_Move2HierarchyAndDestroy | ( | ML_Operator ** | newmat, | |
ML_Operator * | hier | |||
) |
int ML_Operator_MoveFromHierarchyAndClean | ( | ML_Operator * | newmat, | |
ML_Operator * | hier | |||
) |
int ML_Operator_Print | ( | ML_Operator * | matrix, | |
const char | label[] | |||
) |
int ML_Operator_Set_1Levels | ( | ML_Operator * | , | |
ML_1Level * | , | |||
ML_1Level * | ||||
) |
int ML_Operator_Set_ApplyFunc | ( | ML_Operator * | , | |
int(*)(ML_Operator *, int, double *, int, double *) | func | |||
) |
int ML_Operator_Set_ApplyFuncData | ( | ML_Operator * | , | |
int | , | |||
int | , | |||
void * | , | |||
int | , | |||
int(*)(ML_Operator *, int, double *, int, double *) | func, | |||
int | ||||
) |
int ML_Operator_Set_BdryPts | ( | ML_Operator * | , | |
ML_BdryPts * | ||||
) |
int ML_Operator_Set_Diag | ( | ML_Operator * | , | |
int | , | |||
double * | ||||
) |
int ML_Operator_Set_Getrow | ( | ML_Operator * | , | |
int | , | |||
int(*)(ML_Operator *, int, int *, int, int *, double *, int *) | func | |||
) |
int ML_Operator_Set_Label | ( | ML_Operator * | , | |
char * | str | |||
) |
int ML_Operator_Set_SpectralNorm_Iterations | ( | ML_Operator * | mat, | |
int | its | |||
) |
int ML_Operator_Set_SpectralNormScheme_Anasazi | ( | ML_Operator * | mat | ) |
int ML_Operator_Set_SpectralNormScheme_Anorm | ( | ML_Operator * | mat | ) |
int ML_Operator_Set_SpectralNormScheme_Calc | ( | ML_Operator * | mat | ) |
int ML_Operator_Set_SpectralNormScheme_PowerMethod | ( | ML_Operator * | mat | ) |
int ML_Operator_SetSubspace | ( | ML * | ml, | |
double ** | vectors, | |||
int | numvecs, | |||
int | vecleng | |||
) |
int ML_Operator_Transpose | ( | ML_Operator * | Amat, | |
ML_Operator * | Amat_trans | |||
) |
int ML_Operator_UnAmalgamateAndDropWeak | ( | ML_Operator * | Amat, | |
int | block_size, | |||
double | drop_tolerance | |||
) |