16#ifndef DOXYGEN_SHOULD_SKIP_THIS
20#if defined(SPM_WITH_MPI)
25 type(spmatrix_t),
target :: spm
26 real(kind=c_double) :: norma
27 real(kind=c_double) :: eps = 1.e-15
28 integer(c_int) :: info
29 integer(kind=spm_int_t) :: nrhs
30 real(kind=c_double),
dimension(:,:),
allocatable,
target :: x0, x, b
32#if defined(SPM_WITH_MPI)
41 call spmreaddriver( spmdriverlaplacian,
"d:10:10:10:4.", spm, info )
42 call spmprintinfo( spm )
45 call spmnorm( spmfrobeniusnorm, spm, norma )
46 call spmscal( 1. / norma, spm )
50 allocate(x0(spm%nexp, nrhs))
51 allocate(x( spm%nexp, nrhs))
52 allocate(b( spm%nexp, nrhs))
55 call spmgenrhs( spmrhsrndx, nrhs, spm, x0, spm%nexp, b, spm%nexp, info )
63 call spmcheckaxb( eps, nrhs, spm, x0, spm%nexp, b, spm%nexp, x, spm%nexp, info )
70#if defined(SPM_WITH_MPI)
71 call mpi_finalize( info )
74end program spmf_driver