43 integer,
private :: dim
44 integer,
dimension(:),
allocatable :: irow, jcol
45 double precision,
dimension(:),
allocatable :: val
73#include "implicit_f.inc"
76 type(
t_vector),
intent(inout) :: bvec
80 bvec%val(1:bvec%get_dim()) = zero
84 bvec%val(i) = bvec%val(i) + this%val(ii) * xvec%val(j)
104#include "implicit_f.inc"
121#include "implicit_f.inc"
123 integer,
intent(in) :: nn
125 allocate(this%irow(nn), this%jcol(nn), this%val(nn))
139#include "implicit_f.inc"
141 if (
allocated(this%irow))
deallocate(this%irow)
142 if (
allocated(this%jcol))
deallocate(this%jcol)
143 if (
allocated(this%val))
deallocate(this%val)
157#include "implicit_f.inc"
159 integerdimension(:),
pointer
160 double precision,
dimension(:),
pointer :: ptr_val
161 ptr_irow => this%irow
162 ptr_jcol => this%jcol
subroutine matrix_associate(this, ptr_irow, ptr_jcol, ptr_val)
subroutine prod_vec(this, xvec, bvec)
subroutine matrix_destroy(this)
integer function get_dim(this)
subroutine matrix_create(this, nn)