XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Types | Public Member Functions | List of all members
mat_class Module Reference

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...
 

Member Function/Subroutine Documentation

subroutine mat_class::convert_org_to_csr ( type(mat_type mat)

converting original format to csr format

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mat_class::del_mat ( type(mat_type mat)

delete a matrix

Here is the caller graph for this function:

subroutine mat_class::get_max_width ( type(mat_type mat,
integer, intent(out)  mwidth 
)

get matrix width – maximum non-zero component of each row

Here is the call graph for this function:

subroutine mat_class::mat_copy_mat_org ( type(mat_type mat1,
type(mat_type mat2 
)

copy org matrix - required for verification routine

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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)

Here is the call graph for this function:

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)

Here is the call graph for this function:

Here is the caller graph for this function:

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)

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mat_class::mat_verification ( type(mat_type mat)

code for matrix routine verifications - can use for csr, openmp, etc

Here is the call graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters
[in]irow index
[in]jcolumn index
[in]flag0 for replace, 1 for adding
valuevalue of matrix

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: