hypre 2.32.0
Loading...
Searching...
No Matches
HYPRE_IJ_mv.h File Reference

IJ Matrices

typedef struct hypre_IJMatrix_struct * HYPRE_IJMatrix
 The matrix object.
 
HYPRE_Int HYPRE_IJMatrixCreate (MPI_Comm comm, HYPRE_BigInt ilower, HYPRE_BigInt iupper, HYPRE_BigInt jlower, HYPRE_BigInt jupper, HYPRE_IJMatrix *matrix)
 Create a matrix object.
 
HYPRE_Int HYPRE_IJMatrixDestroy (HYPRE_IJMatrix matrix)
 Destroy a matrix object.
 
HYPRE_Int HYPRE_IJMatrixInitialize (HYPRE_IJMatrix matrix)
 Prepare a matrix object for setting coefficient values.
 
HYPRE_Int HYPRE_IJMatrixInitialize_v2 (HYPRE_IJMatrix matrix, HYPRE_MemoryLocation memory_location)
 Prepare a matrix object for setting coefficient values.
 
HYPRE_Int HYPRE_IJMatrixSetValues (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, const HYPRE_BigInt *rows, const HYPRE_BigInt *cols, const HYPRE_Complex *values)
 Sets values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixSetConstantValues (HYPRE_IJMatrix matrix, HYPRE_Complex value)
 Sets all matrix coefficients of an already assembled matrix to value.
 
HYPRE_Int HYPRE_IJMatrixAddToValues (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, const HYPRE_BigInt *rows, const HYPRE_BigInt *cols, const HYPRE_Complex *values)
 Adds to values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixSetValues2 (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, const HYPRE_BigInt *rows, const HYPRE_Int *row_indexes, const HYPRE_BigInt *cols, const HYPRE_Complex *values)
 Sets values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixAddToValues2 (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, const HYPRE_BigInt *rows, const HYPRE_Int *row_indexes, const HYPRE_BigInt *cols, const HYPRE_Complex *values)
 Adds to values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixAssemble (HYPRE_IJMatrix matrix)
 Finalize the construction of the matrix before using.
 
HYPRE_Int HYPRE_IJMatrixGetRowCounts (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_BigInt *rows, HYPRE_Int *ncols)
 Gets number of nonzeros elements for nrows rows specified in rows and returns them in ncols, which needs to be allocated by the user.
 
HYPRE_Int HYPRE_IJMatrixGetValues (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, HYPRE_BigInt *rows, HYPRE_BigInt *cols, HYPRE_Complex *values)
 Gets values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixGetValues2 (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, HYPRE_BigInt *rows, HYPRE_Int *row_indexes, HYPRE_BigInt *cols, HYPRE_Complex *values)
 Gets values for nrows rows or partial rows of the matrix.
 
HYPRE_Int HYPRE_IJMatrixGetValuesAndZeroOut (HYPRE_IJMatrix matrix, HYPRE_Int nrows, HYPRE_Int *ncols, HYPRE_BigInt *rows, HYPRE_Int *row_indexes, HYPRE_BigInt *cols, HYPRE_Complex *values)
 Gets values for nrows rows or partial rows of the matrix and zeros out those entries in the matrix.
 
HYPRE_Int HYPRE_IJMatrixSetObjectType (HYPRE_IJMatrix matrix, HYPRE_Int type)
 Set the storage type of the matrix object to be constructed.
 
HYPRE_Int HYPRE_IJMatrixGetObjectType (HYPRE_IJMatrix matrix, HYPRE_Int *type)
 Get the storage type of the constructed matrix object.
 
HYPRE_Int HYPRE_IJMatrixGetLocalRange (HYPRE_IJMatrix matrix, HYPRE_BigInt *ilower, HYPRE_BigInt *iupper, HYPRE_BigInt *jlower, HYPRE_BigInt *jupper)
 Gets range of rows owned by this processor and range of column partitioning for this processor.
 
HYPRE_Int HYPRE_IJMatrixGetGlobalInfo (HYPRE_IJMatrix matrix, HYPRE_BigInt *global_num_rows, HYPRE_BigInt *global_num_cols, HYPRE_BigInt *global_num_nonzeros)
 Gets global information about the matrix, including the total number of rows, columns, and nonzero elements across all processes.
 
HYPRE_Int HYPRE_IJMatrixGetObject (HYPRE_IJMatrix matrix, void **object)
 Get a reference to the constructed matrix object.
 
HYPRE_Int HYPRE_IJMatrixSetRowSizes (HYPRE_IJMatrix matrix, const HYPRE_Int *sizes)
 (Optional) Set the max number of nonzeros to expect in each row.
 
HYPRE_Int HYPRE_IJMatrixSetDiagOffdSizes (HYPRE_IJMatrix matrix, const HYPRE_Int *diag_sizes, const HYPRE_Int *offdiag_sizes)
 (Optional) Sets the exact number of nonzeros in each row of the diagonal and off-diagonal blocks.
 
HYPRE_Int HYPRE_IJMatrixSetMaxOffProcElmts (HYPRE_IJMatrix matrix, HYPRE_Int max_off_proc_elmts)
 (Optional) Sets the maximum number of elements that are expected to be set (or added) on other processors from this processor This routine can significantly improve the efficiency of matrix construction, and should always be utilized if possible.
 
HYPRE_Int HYPRE_IJMatrixSetPrintLevel (HYPRE_IJMatrix matrix, HYPRE_Int print_level)
 (Optional) Sets the print level, if the user wants to print error messages.
 
HYPRE_Int HYPRE_IJMatrixSetOMPFlag (HYPRE_IJMatrix matrix, HYPRE_Int omp_flag)
 (Optional) if set, will use a threaded version of HYPRE_IJMatrixSetValues and HYPRE_IJMatrixAddToValues.
 
HYPRE_Int HYPRE_IJMatrixRead (const char *filename, MPI_Comm comm, HYPRE_Int type, HYPRE_IJMatrix *matrix)
 Read the matrix from file.
 
HYPRE_Int HYPRE_IJMatrixReadMM (const char *filename, MPI_Comm comm, HYPRE_Int type, HYPRE_IJMatrix *matrix)
 Read the matrix from MM file.
 
HYPRE_Int HYPRE_IJMatrixPrint (HYPRE_IJMatrix matrix, const char *filename)
 Print the matrix to file.
 
HYPRE_Int HYPRE_IJMatrixTranspose (HYPRE_IJMatrix matrix_A, HYPRE_IJMatrix *matrix_AT)
 Transpose an IJMatrix.
 
HYPRE_Int HYPRE_IJMatrixNorm (HYPRE_IJMatrix matrix, HYPRE_Real *norm)
 Computes the infinity norm of an IJMatrix.
 
HYPRE_Int HYPRE_IJMatrixAdd (HYPRE_Complex alpha, HYPRE_IJMatrix matrix_A, HYPRE_Complex beta, HYPRE_IJMatrix matrix_B, HYPRE_IJMatrix *matrix_C)
 Performs C = alpha*A + beta*B.
 
HYPRE_Int HYPRE_IJMatrixPrintBinary (HYPRE_IJMatrix matrix, const char *filename)
 Print the matrix to file in binary format.
 
HYPRE_Int HYPRE_IJMatrixReadBinary (const char *filename, MPI_Comm comm, HYPRE_Int type, HYPRE_IJMatrix *matrix_ptr)
 Read the matrix from file stored in binary format.
 

IJ Vectors

typedef struct hypre_IJVector_struct * HYPRE_IJVector
 The vector object.
 
HYPRE_Int HYPRE_IJVectorCreate (MPI_Comm comm, HYPRE_BigInt jlower, HYPRE_BigInt jupper, HYPRE_IJVector *vector)
 Create a vector object.
 
HYPRE_Int HYPRE_IJVectorDestroy (HYPRE_IJVector vector)
 Destroy a vector object.
 
HYPRE_Int HYPRE_IJVectorInitialize (HYPRE_IJVector vector)
 Prepare a vector object for setting coefficient values.
 
HYPRE_Int HYPRE_IJVectorInitialize_v2 (HYPRE_IJVector vector, HYPRE_MemoryLocation memory_location)
 Prepare a vector object for setting coefficient values.
 
HYPRE_Int HYPRE_IJVectorSetMaxOffProcElmts (HYPRE_IJVector vector, HYPRE_Int max_off_proc_elmts)
 (Optional) Sets the maximum number of elements that are expected to be set (or added) on other processors from this processor This routine can significantly improve the efficiency of matrix construction, and should always be utilized if possible.
 
HYPRE_Int HYPRE_IJVectorSetNumComponents (HYPRE_IJVector vector, HYPRE_Int num_components)
 (Optional) Sets the number of components (vectors) of a multivector.
 
HYPRE_Int HYPRE_IJVectorSetComponent (HYPRE_IJVector vector, HYPRE_Int component)
 (Optional) Sets the component identifier of a vector with multiple components (multivector).
 
HYPRE_Int HYPRE_IJVectorSetValues (HYPRE_IJVector vector, HYPRE_Int nvalues, const HYPRE_BigInt *indices, const HYPRE_Complex *values)
 Sets values in vector.
 
HYPRE_Int HYPRE_IJVectorAddToValues (HYPRE_IJVector vector, HYPRE_Int nvalues, const HYPRE_BigInt *indices, const HYPRE_Complex *values)
 Adds to values in vector.
 
HYPRE_Int HYPRE_IJVectorAssemble (HYPRE_IJVector vector)
 Finalize the construction of the vector before using.
 
HYPRE_Int HYPRE_IJVectorUpdateValues (HYPRE_IJVector vector, HYPRE_Int nvalues, const HYPRE_BigInt *indices, const HYPRE_Complex *values, HYPRE_Int action)
 Update vectors by setting (action 1) or adding to (action 0) values in 'vector'.
 
HYPRE_Int HYPRE_IJVectorGetValues (HYPRE_IJVector vector, HYPRE_Int nvalues, const HYPRE_BigInt *indices, HYPRE_Complex *values)
 Gets values in vector.
 
HYPRE_Int HYPRE_IJVectorSetObjectType (HYPRE_IJVector vector, HYPRE_Int type)
 Set the storage type of the vector object to be constructed.
 
HYPRE_Int HYPRE_IJVectorGetObjectType (HYPRE_IJVector vector, HYPRE_Int *type)
 Get the storage type of the constructed vector object.
 
HYPRE_Int HYPRE_IJVectorGetLocalRange (HYPRE_IJVector vector, HYPRE_BigInt *jlower, HYPRE_BigInt *jupper)
 Returns range of the part of the vector owned by this processor.
 
HYPRE_Int HYPRE_IJVectorGetObject (HYPRE_IJVector vector, void **object)
 Get a reference to the constructed vector object.
 
HYPRE_Int HYPRE_IJVectorSetPrintLevel (HYPRE_IJVector vector, HYPRE_Int print_level)
 (Optional) Sets the print level, if the user wants to print error messages.
 
HYPRE_Int HYPRE_IJVectorRead (const char *filename, MPI_Comm comm, HYPRE_Int type, HYPRE_IJVector *vector)
 Read the vector from file.
 
HYPRE_Int HYPRE_IJVectorReadBinary (const char *filename, MPI_Comm comm, HYPRE_Int type, HYPRE_IJVector *vector)
 Read the vector from binary file.
 
HYPRE_Int HYPRE_IJVectorPrint (HYPRE_IJVector vector, const char *filename)
 Print the vector to file.
 
HYPRE_Int HYPRE_IJVectorPrintBinary (HYPRE_IJVector vector, const char *filename)
 Print the vector to binary file.
 
HYPRE_Int HYPRE_IJVectorInnerProd (HYPRE_IJVector x, HYPRE_IJVector y, HYPRE_Real *prod)
 Computes the inner product between two vectors.