XGC1
|
Data Types | |
type | mat_ptr_type |
type | mat_type |
Public Member Functions | |
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 | ||
) |
Matrix multiplication of petsc data structure.
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 |