CRS_ Derived Type

type, public :: CRS_


Components

Type Visibility Attributes Name Initial
integer(kind=int32), public, allocatable :: col_idx(:)
integer(kind=int64), public, allocatable :: row_ptr(:)
real(kind=real64), public, allocatable :: val(:)
real(kind=real32), public, allocatable :: val_real32(:)
complex(kind=real64), public, allocatable :: val_complex64(:)
integer(kind=int32), public :: dtype = real64

Type-Bound Procedures

procedure, public :: init => initCRS

  • public subroutine initCRS(this, val, col_idx, row_ptr)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    real(kind=real64), intent(in) :: val(:)
    integer(kind=int32), intent(in) :: col_idx(:)
    integer(kind=int64), intent(in) :: row_ptr(:)

procedure, public :: eyes => eyesCRS

  • public subroutine eyesCRS(This, n)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: This
    integer(kind=int32), intent(in) :: n

procedure, public :: poisson => poissonCRS

  • public subroutine poissonCRS(this, n)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: n

procedure, public :: Lanczos => LanczosCRS

  • public subroutine LanczosCRS(this, DiagonalVector, subDiagonalVector, V)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(inout), allocatable :: DiagonalVector(:)
    real(kind=real64), intent(inout), allocatable :: subDiagonalVector(:)
    real(kind=real64), intent(inout), allocatable :: V(:,:)

procedure, public, pass :: matmulCRS

  • public function matmulCRS(CRS, Old_vector, run_mode, cache_size) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real64), intent(in) :: Old_vector(:)
    integer(kind=int32), intent(in), optional :: run_mode
    integer(kind=int32), intent(in), optional :: cache_size

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: matmul_c_CRS

  • public function matmul_c_CRS(CRS, Old_vector, c_routine) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real64), intent(in) :: Old_vector(:)
    character(len=*), intent(in) :: c_routine

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: matmul_c_real32_CRS

  • public function matmul_c_real32_CRS(CRS, Old_vector, c_routine) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real32), intent(in) :: Old_vector(:)
    character(len=*), intent(in) :: c_routine

    Return Value real(kind=real32), allocatable, (:)

procedure, public, pass :: matmul_real32_CRS

  • public function matmul_real32_CRS(CRS, Old_vector) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real32), intent(in) :: Old_vector(:)

    Return Value real(kind=real32), allocatable, (:)

procedure, public, pass :: matmul_complex_CRS

  • public function matmul_complex_CRS(CRS, Old_vector) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    complex(kind=real64), intent(in) :: Old_vector(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function matmulCRS(CRS, Old_vector, run_mode, cache_size) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real64), intent(in) :: Old_vector(:)
    integer(kind=int32), intent(in), optional :: run_mode
    integer(kind=int32), intent(in), optional :: cache_size

    Return Value real(kind=real64), allocatable, (:)

  • public function matmul_complex_CRS(CRS, Old_vector) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    complex(kind=real64), intent(in) :: Old_vector(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function matmul_real32_CRS(CRS, Old_vector) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real32), intent(in) :: Old_vector(:)

    Return Value real(kind=real32), allocatable, (:)

  • public function matmul_c_CRS(CRS, Old_vector, c_routine) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real64), intent(in) :: Old_vector(:)
    character(len=*), intent(in) :: c_routine

    Return Value real(kind=real64), allocatable, (:)

  • public function matmul_c_real32_CRS(CRS, Old_vector, c_routine) result(new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: CRS
    real(kind=real32), intent(in) :: Old_vector(:)
    character(len=*), intent(in) :: c_routine

    Return Value real(kind=real32), allocatable, (:)

procedure, public :: to_real32 => to_real32_CRS

  • public subroutine to_real32_CRS(this)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this

procedure, public :: SpMV => spmv_as_subroutine_CRS

  • public subroutine spmv_as_subroutine_CRS(this, old_vector, new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: old_vector(:)
    real(kind=real64), intent(out) :: new_vector(:)

procedure, public :: eig => eigCRS

  • public subroutine eigCRS(this, Eigen_vectors, eigen_values)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(inout), allocatable :: Eigen_vectors(:,:)
    real(kind=real64), intent(inout), allocatable :: eigen_values(:)

procedure, public :: to_dense => to_denseCRS

  • public function to_denseCRS(this) result(dense_mat)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value real(kind=real64), allocatable, (:,:)

procedure, public :: DOF => DOFCRS

  • public pure function DOFCRS(this) result(Degree_of_freedom)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value integer(kind=int32)

procedure, public :: remove => removeCRS

  • public subroutine removeCRS(this, idx)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in), optional :: idx(:)

procedure, public :: size => sizeCRS

  • public function sizeCRS(this) result(n)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value integer(kind=int32)

procedure, public :: shape => shapeCRS

  • public function shapeCRS(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value integer(kind=int32), (1:2)

procedure, public :: update => updateCRS

  • public subroutine updateCRS(this, row, col, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: val

procedure, public :: add => addCRS

  • public subroutine addCRS(this, row, col, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: val

procedure, public :: fillSymmetric => fillSymmetric_CRS

  • public subroutine fillSymmetric_CRS(this)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

procedure, public :: get => getCRS

  • public function getCRS(this, row, col) result(val)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col

    Return Value real(kind=real64)

procedure, public :: is_nonzero => is_nonzeroCRS

  • public function is_nonzeroCRS(this, row, col)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col

    Return Value logical

procedure, public :: diag => diagCRS

  • public function diagCRS(this, cell_centered) result(diag_vec)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    logical, intent(in), optional :: cell_centered

    Return Value real(kind=real64), allocatable, (:)

procedure, public :: lumped => lumpedCRS

  • public function lumpedCRS(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value real(kind=real64), allocatable, (:)

procedure, public :: divide_by => divide_by_CRS

  • public function divide_by_CRS(this, diag_vector) result(ret_crs)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: diag_vector(:)

    Return Value type(CRS_)

procedure, public :: divide_by_vector => divide_by_vector_CRS

  • public subroutine divide_by_vector_CRS(this, diag_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    real(kind=real64), intent(in) :: diag_vector(:)

procedure, public :: mult_by => mult_by_CRS

  • public function mult_by_CRS(this, diag_vector) result(ret_crs)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: diag_vector(:)

    Return Value type(CRS_)

procedure, public :: to_CCS => to_CCSCRS

  • public function to_CCSCRS(this) result(CCS)

    [2,5,8,11,13, 13] [2,2,5, 8,11, 13]

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this

    Return Value type(CCS_)

procedure, public :: load => loadCRS

  • public subroutine loadCRS(this, CCS, Position)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    type(CCS_), intent(in), optional :: CCS
    character(len=*), intent(in), optional :: Position

procedure, public :: ILU => ILUCRS

  • public recursive subroutine ILUCRS(this, fill_in_order, RHS, debug)

    $OMP parallel do

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: fill_in_order
    real(kind=real64), intent(inout), optional :: RHS(:)
    logical, intent(in), optional :: debug

procedure, public :: ILU_matvec => ILU_matvecCRS

  • public subroutine ILU_matvecCRS(this, old_vector, new_vector)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: old_vector(:)
    real(kind=real64), intent(inout), allocatable :: new_vector(:)

procedure, public :: BICGSTAB => BICGSTAB_CRSSparse

  • public subroutine BICGSTAB_CRSSparse(this, x, b, debug, tol)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    real(kind=real64), intent(inout), allocatable :: x(:)
    real(kind=real64), intent(in) :: b(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in), optional :: tol

procedure, public, pass :: tensor_exponential_crs

  • public function tensor_exponential_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in), optional :: fix_val(:)

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sqrt_crs

  • public function tensor_sqrt_crs(this, v, tol, itrmax, binomial, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_exp_sqrt_crs

  • public function tensor_exp_sqrt_crs(this, v, tol, coeff, itrmax, binomial) result(exp_sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    complex(kind=real64), intent(in), optional :: coeff
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_log_crs

  • public function tensor_log_crs(this, v, tol, itrmax, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: r

    Return Value real(kind=real64), allocatable, (:)

procedure, public :: tensor_log_crs_modified => tensor_log_crs_modified_Sparse

  • public function tensor_log_crs_modified_Sparse(this, v, tol, itrmax, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: r

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: fixCRS

  • public subroutine fixCRS(this, idx, val, RHS, only_row)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)
    real(kind=real64), intent(in) :: val(:)
    real(kind=real64), intent(inout), optional :: RHS(:)
    logical, intent(in), optional :: only_row

procedure, public, pass :: fix_zeroCRS

  • public subroutine fix_zeroCRS(this, idx)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)

procedure, public, pass :: tensor_exponential_complex64_crs

  • public function tensor_exponential_complex64_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    complex(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    complex(kind=real64), intent(in), optional :: fix_val(:)

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_exp_sqrt_complex64_crs

  • public function tensor_exp_sqrt_complex64_crs(this, v, tol, itrmax, coeff, fix_idx, binomial, r) result(exp_sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_cos_sqrt_complex64_crs

  • public function tensor_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_cos_sqrt_real64_crs

  • public function tensor_cos_sqrt_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_cos_sqrt_LPF_real64_crs

  • public function tensor_cos_sqrt_LPF_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx, cutoff_frequency) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sinc_sqrt_complex64_crs

  • public function tensor_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sinc_sqrt_real64_crs

  • public function tensor_sinc_sqrt_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_t_sinc_sqrt_LPF_real64_crs

  • public function tensor_t_sinc_sqrt_LPF_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx, cutoff_frequency) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sqrt_complex64_crs

  • public function tensor_sqrt_complex64_crs(this, v, tol, itrmax, binomial, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_log_complex64_crs

  • public function tensor_log_complex64_crs(this, v, tol, itrmax) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: fix_complex64_CRS

  • public subroutine fix_complex64_CRS(this, idx, val, RHS, only_row)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)
    complex(kind=real64), intent(in) :: val(:)
    complex(kind=real64), intent(inout), optional :: RHS(:)
    logical, intent(in), optional :: only_row

procedure, public, pass :: tensor_d1_wave_kernel_complex64_crs

  • public function tensor_d1_wave_kernel_complex64_crs(this, u, v, tol, itrmax, coeff) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: u(:)
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_complex_64_crs

  • public function tensor_wave_kernel_complex_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: u0(:)
    complex(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_real_64_crs

  • public function tensor_wave_kernel_real_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    real(kind=real64), intent(in) :: u0(:)
    real(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_LPF_real_64_crs

  • public function tensor_wave_kernel_LPF_real_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug, cutoff_frequency) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: u0(:)
    real(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_RHS_real_64_crs

  • public function tensor_wave_kernel_RHS_real_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_RHS_LPF_real_64_crs

  • public function tensor_wave_kernel_RHS_LPF_real_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug, cutoff_frequency, weights) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: cutoff_frequency
    real(kind=real64), intent(in), optional :: weights(:)

    Return Value real(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_wave_kernel_RHS_complex_64_crs

  • public function tensor_wave_kernel_RHS_complex_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_cos_sqrt_cos_sqrt_complex64_crs

  • public function tensor_cos_sqrt_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_cos_sqrt_sinc_sqrt_complex64_crs

  • public function tensor_cos_sqrt_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sinc_sqrt_cos_sqrt_complex64_crs

  • public function tensor_sinc_sqrt_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2, debug) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

procedure, public, pass :: tensor_sinc_sqrt_sinc_sqrt_complex64_crs

  • public function tensor_sinc_sqrt_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: tensor_exponential => tensor_exponential_complex64_crs, tensor_exponential_crs

  • public function tensor_exponential_complex64_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    complex(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    complex(kind=real64), intent(in), optional :: fix_val(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_exponential_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in), optional :: fix_val(:)

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_exp => tensor_exponential_complex64_crs, tensor_exponential_crs

  • public function tensor_exponential_complex64_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    complex(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    complex(kind=real64), intent(in), optional :: fix_val(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_exponential_crs(this, itr_tol, tol, x, dt, fix_idx, fix_val) result(expA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    integer(kind=int32), intent(in) :: itr_tol
    real(kind=real64), intent(in) :: tol
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in), optional :: dt
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in), optional :: fix_val(:)

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_exp_sqrt => tensor_exp_sqrt_complex64_crs, tensor_exp_sqrt_crs

  • public function tensor_exp_sqrt_complex64_crs(this, v, tol, itrmax, coeff, fix_idx, binomial, r) result(exp_sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_exp_sqrt_crs(this, v, tol, coeff, itrmax, binomial) result(exp_sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    complex(kind=real64), intent(in), optional :: coeff
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_cos_sqrt => tensor_cos_sqrt_complex64_crs, tensor_cos_sqrt_real64_crs

  • public function tensor_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_cos_sqrt_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_sinc_sqrt => tensor_sinc_sqrt_complex64_crs, tensor_sinc_sqrt_real64_crs

  • public function tensor_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_sinc_sqrt_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_cos_sqrt_LPF => tensor_cos_sqrt_LPF_real64_crs

  • public function tensor_cos_sqrt_LPF_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx, cutoff_frequency) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_t_sinc_sqrt_LPF => tensor_t_sinc_sqrt_LPF_real64_crs

  • public function tensor_t_sinc_sqrt_LPF_real64_crs(this, v, tol, itrmax, coeff, debug, fix_idx, cutoff_frequency) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: coeff
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_sqrt => tensor_sqrt_complex64_crs, tensor_sqrt_crs

  • public function tensor_sqrt_complex64_crs(this, v, tol, itrmax, binomial, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_sqrt_crs(this, v, tol, itrmax, binomial, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    logical, intent(in), optional :: binomial
    real(kind=real64), intent(in), optional :: r

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_log => tensor_log_complex64_crs, tensor_log_crs

  • public function tensor_log_complex64_crs(this, v, tol, itrmax) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_log_crs(this, v, tol, itrmax, r) result(sqrtA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    real(kind=real64), intent(in), optional :: r

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_cos_sqrt_cos_sqrt => tensor_cos_sqrt_cos_sqrt_complex64_crs

not verified.

  • public function tensor_cos_sqrt_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: tensor_cos_sqrt_sinc_sqrt => tensor_cos_sqrt_sinc_sqrt_complex64_crs

  • public function tensor_cos_sqrt_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: tensor_sinc_sqrt_cos_sqrt => tensor_sinc_sqrt_cos_sqrt_complex64_crs

  • public function tensor_sinc_sqrt_cos_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2, debug) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: tensor_sinc_sqrt_sinc_sqrt => tensor_sinc_sqrt_sinc_sqrt_complex64_crs

  • public function tensor_sinc_sqrt_sinc_sqrt_complex64_crs(this, v, tol, itrmax, coeff_1, coeff_2) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in) :: coeff_1
    complex(kind=real64), intent(in) :: coeff_2

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: tensor_wave_kernel => tensor_wave_kernel_complex_64_crs, tensor_wave_kernel_real_64_crs

  • public function tensor_wave_kernel_complex_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: u0(:)
    complex(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_wave_kernel_real_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    real(kind=real64), intent(in) :: u0(:)
    real(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_wave_kernel_LPF => tensor_wave_kernel_LPF_real_64_crs

  • public function tensor_wave_kernel_LPF_real_64_crs(this, u0, v0, tol, itrmax, h, t, fix_idx, debug, cutoff_frequency) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: u0(:)
    real(kind=real64), intent(in) :: v0(:)
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in) :: h
    real(kind=real64), intent(in) :: t
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: cutoff_frequency

    Return Value real(kind=real64), allocatable, (:)

  • public function tensor_wave_kernel_RHS_real_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value real(kind=real64), allocatable, (:)

  • public function tensor_wave_kernel_RHS_complex_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug

    Return Value complex(kind=real64), allocatable, (:)

  • public function tensor_wave_kernel_RHS_LPF_real_64_crs(this, RHS, t, tol, itrmax, fix_idx, debug, cutoff_frequency, weights) result(u)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    real(kind=real64), intent(in) :: RHS(:)
    real(kind=real64), intent(in) :: t
    real(kind=real64), intent(in), optional :: tol
    integer(kind=int32), intent(in), optional :: itrmax
    integer(kind=int32), intent(in), optional :: fix_idx(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: cutoff_frequency
    real(kind=real64), intent(in), optional :: weights(:)

    Return Value real(kind=real64), allocatable, (:)

generic, public :: tensor_d1_wave_kernel => tensor_d1_wave_kernel_complex64_crs

  • public function tensor_d1_wave_kernel_complex64_crs(this, u, v, tol, itrmax, coeff) result(retA_v)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(in) :: this
    complex(kind=real64), intent(in) :: u(:)
    complex(kind=real64), intent(in) :: v(:)
    real(kind=real64), intent(in) :: tol
    integer(kind=int32), intent(in) :: itrmax
    complex(kind=real64), intent(in), optional :: coeff

    Return Value complex(kind=real64), allocatable, (:)

generic, public :: fix => fix_complex64_CRS, fixCRS, fix_zeroCRS

  • public subroutine fix_complex64_CRS(this, idx, val, RHS, only_row)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)
    complex(kind=real64), intent(in) :: val(:)
    complex(kind=real64), intent(inout), optional :: RHS(:)
    logical, intent(in), optional :: only_row
  • public subroutine fixCRS(this, idx, val, RHS, only_row)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)
    real(kind=real64), intent(in) :: val(:)
    real(kind=real64), intent(inout), optional :: RHS(:)
    logical, intent(in), optional :: only_row
  • public subroutine fix_zeroCRS(this, idx)

    Arguments

    Type IntentOptional Attributes Name
    class(CRS_), intent(inout) :: this
    integer(kind=int32), intent(in) :: idx(:)