9 #include "sll_errors.h"
36 character(len=*),
intent(in) :: matrix_type
37 integer,
intent(in) :: n
38 integer,
intent(in) :: kl
39 integer,
intent(in) :: ku
41 character(len=*),
parameter :: this_sub_name =
"sll_s_spline_matrix_new"
42 character(len=256) :: msg
45 select case (matrix_type)
53 case (
"periodic_banded")
57 msg =
"Unrecognized matrix type: "//trim(matrix_type)
58 sll_error(this_sub_name, msg)
69 call matrix%init(n, kl, ku)
73 msg =
"Periodic banded matrix: Schur complement solver requires kl=ku, using their maximum instead."
74 sll_warning(this_sub_name, msg)
75 call matrix%init(n, max(kl, ku), max(kl, ku))
77 call matrix%init(n, kl, ku)
Derived type for banded matrices.
Abstract class for small matrix library with basic operations: set matrix element,...
Derived type for dense matrices.
Derived type for periodic banded matrices.
Access point to matrix class providing factory function.
integer, parameter wp
Working precision.
subroutine, public sll_s_spline_matrix_new(matrix, matrix_type, n, kl, ku)
Module to select the kind parameter.
integer, parameter, public f64
f64 is the kind type for 64-bit reals (double precision)