|
XGC1
|
Data Types | |
| type | mat_ptr_type |
| type | mat_type |
Functions/Subroutines | |
| subroutine | new_mat (mat, m, n, w) |
| create a empty matrix More... | |
| subroutine | set_non_square_mat (mat, n) |
| set non squre matrix This can change matrix size m easily. needed?? More... | |
| subroutine | convert_org_to_csr (mat) |
| converting original format to csr format More... | |
| subroutine | del_mat (mat) |
| delete a matrix More... | |
| subroutine | set_value (mat, i, j, value, flag) |
| set value of matrix component on in-house matrix structure More... | |
| subroutine | get_max_width (mat, mwidth) |
| get matrix width – maximum non-zero component of each row More... | |
| subroutine | output_matrix (mat, filename) |
| txt file output of matrix More... | |
| subroutine | mat_mult (mat, x, y) |
| Matrix multiplication wrapper. y = M * x. More... | |
| subroutine | mat_mult_org (mat, x, y) |
| Matrix multiplication of original data structure. More... | |
| subroutine | mat_mult_csr (mat, x, y) |
| Matrix multiplication of petsc data structure. More... | |
| subroutine | mat_transpose_mult (mat, x, y) |
| matrix multiplication of transpose of M : y= Mat^T x More... | |
| subroutine | mat_transpose_mult_org (mat, x, y) |
| matrix multiplication of transpose of M : y= Mat^T x More... | |
| subroutine | mat_transpose_mult_csr (mat, x, y) |
| matrix multiplication of transpose of M : y= Mat^T x More... | |
| subroutine | mat_mult_tensor (mat, x, nv, y) |
| matrix multiplication of tensor (array of vector) More... | |
| subroutine | mat_mult_tensor_org (mat, x, nv, y) |
| matrix multiplication of tensor (array of vector) More... | |
| subroutine | mat_mult_tensor_csr (mat, x, nv, y) |
| matrix multiplication of tensor (array of vector) More... | |
| subroutine | mat_copy_mat_org (mat1, mat2) |
| copy org matrix - required for verification routine More... | |
| subroutine | mat_verification (mat) |
| code for matrix routine verifications - can use for csr, openmp, etc More... | |
| subroutine mat_class::convert_org_to_csr | ( | type(mat_type) | mat | ) |
converting original format to csr format

| subroutine mat_class::del_mat | ( | type(mat_type) | mat | ) |
delete a matrix

| subroutine mat_class::get_max_width | ( | type(mat_type) | mat, |
| integer, intent(out) | mwidth | ||
| ) |
get matrix width – maximum non-zero component of each row
copy org matrix - required for verification routine

| subroutine mat_class::mat_mult | ( | type(mat_type) | mat, |
| real (8), dimension(mat%n), intent(in) | x, | ||
| real (8), dimension(mat%m), intent(out) | y | ||
| ) |
Matrix multiplication wrapper. y = M * x.


| subroutine mat_class::mat_mult_csr | ( | type(mat_type) | mat, |
| real (8), dimension(0:mat%n-1), intent(in) | x, | ||
| real (8), dimension(0:mat%m-1), intent(out) | y | ||
| ) |
| subroutine mat_class::mat_mult_org | ( | type(mat_type) | mat, |
| real (8), dimension(mat%n), intent(in) | x, | ||
| real (8), dimension(mat%m), intent(out) | y | ||
| ) |
Matrix multiplication of original data structure.


| subroutine mat_class::mat_mult_tensor | ( | type(mat_type) | mat, |
| real (8), dimension(nv,mat%n), intent(in) | x, | ||
| integer, intent(in) | nv, | ||
| real (8), dimension(nv,mat%m), intent(out) | y | ||
| ) |
matrix multiplication of tensor (array of vector)

| subroutine mat_class::mat_mult_tensor_csr | ( | type(mat_type) | mat, |
| real (8), dimension(nv,0:mat%n-1), intent(in) | x, | ||
| integer, intent(in) | nv, | ||
| real (8), dimension(nv,0:mat%m-1), intent(out) | y | ||
| ) |
matrix multiplication of tensor (array of vector)


| subroutine mat_class::mat_mult_tensor_org | ( | type(mat_type) | mat, |
| real (8), dimension(nv,mat%n), intent(in) | x, | ||
| integer, intent(in) | nv, | ||
| real (8), dimension(nv,mat%m), intent(out) | y | ||
| ) |
matrix multiplication of tensor (array of vector)


| subroutine mat_class::mat_transpose_mult | ( | type(mat_type) | mat, |
| real (8), dimension(mat%m), intent(in) | x, | ||
| real (8), dimension(mat%n), intent(out) | y | ||
| ) |
matrix multiplication of transpose of M : y= Mat^T x


| subroutine mat_class::mat_transpose_mult_csr | ( | type(mat_type) | mat, |
| real (8), dimension(0:mat%m-1), intent(in) | x, | ||
| real (8), dimension(0:mat%n-1), intent(out) | y | ||
| ) |
matrix multiplication of transpose of M : y= Mat^T x


| subroutine mat_class::mat_transpose_mult_org | ( | type(mat_type) | mat, |
| real (8), dimension(mat%m), intent(in) | x, | ||
| real (8), dimension(mat%n), intent(out) | y | ||
| ) |
matrix multiplication of transpose of M : y= Mat^T x


| subroutine mat_class::mat_verification | ( | type(mat_type) | mat | ) |
code for matrix routine verifications - can use for csr, openmp, etc

| subroutine mat_class::new_mat | ( | type(mat_type) | mat, |
| integer, intent(in) | m, | ||
| integer, intent(in) | n, | ||
| integer, intent(in) | w | ||
| ) |
create a empty matrix

| subroutine mat_class::output_matrix | ( | type(mat_type) | mat, |
| character (len=20) | filename | ||
| ) |
txt file output of matrix
| subroutine mat_class::set_non_square_mat | ( | type(mat_type) | mat, |
| integer, intent(in) | n | ||
| ) |
set non squre matrix This can change matrix size m easily. needed??
| subroutine mat_class::set_value | ( | type(mat_type) | mat, |
| integer, intent(in) | i, | ||
| integer, intent(in) | j, | ||
| real (8) | value, | ||
| integer, intent(in) | flag | ||
| ) |
set value of matrix component on in-house matrix structure
| [in] | i | row index |
| [in] | j | column index |
| [in] | flag | 0 for replace, 1 for adding |
| value | value of matrix |
