axpby_linop_csp Derived Type

type, public, extends(abstract_linop_csp) :: axpby_linop_csp

Utility type to define a composite linear operator . The definitions of matvec and rmatvec are directly inherited from those used to define A and B.


Components

Type Visibility Attributes Name Initial
class(abstract_linop_csp), public, allocatable :: A

Underlying linear operators.

class(abstract_linop_csp), public, allocatable :: B

Underlying linear operators.

complex(kind=sp), public :: alpha

Scaling factors.

complex(kind=sp), public :: beta

Scaling factors.

logical, public :: transA = .false.

Logical flag to control whether and/or need to be transposed.

logical, public :: transB = .false.

Logical flag to control whether and/or need to be transposed.


Type-Bound Procedures

procedure, public, pass(self) :: matvec => axpby_matvec_csp

procedure, public, pass(self) :: rmatvec => axpby_rmatvec_csp