axpby_linop_rdp Derived Type

type, public, extends(abstract_linop_rdp) :: axpby_linop_rdp

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_rdp), public, allocatable :: A

Underlying linear operators.

class(abstract_linop_rdp), public, allocatable :: B

Underlying linear operators.

real(kind=dp), public :: alpha

Scaling factors.

real(kind=dp), 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_rdp

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