Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_solve
client_support
Thyra_DefaultDiagonalLinearOpWithSolve_decl.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4
//
5
// Copyright 2004 NTESS and the Thyra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef THYRA_DIAGONAL_LINEAR_OP_WITH_SOLVE_DECL_HPP
11
#define THYRA_DIAGONAL_LINEAR_OP_WITH_SOLVE_DECL_HPP
12
13
#include "Thyra_DefaultDiagonalLinearOp.hpp"
14
#include "Thyra_LinearOpWithSolveBase.hpp"
15
16
17
namespace
Thyra {
18
19
59
template
<
class
Scalar>
60
class
DefaultDiagonalLinearOpWithSolve
61
:
virtual
public
DefaultDiagonalLinearOp
<Scalar>,
62
virtual
public
LinearOpWithSolveBase
<Scalar>
63
{
64
public
:
65
68
75
DefaultDiagonalLinearOpWithSolve
();
76
78
DefaultDiagonalLinearOpWithSolve
(
79
const
RCP
<
const
VectorBase<Scalar>
> &diag
80
);
81
82
protected
:
83
86
87
bool
solveSupportsImpl
(EOpTransp M_trans)
const
;
89
bool
solveSupportsSolveMeasureTypeImpl
(
90
EOpTransp M_trans,
const
SolveMeasureType
& solveMeasureType)
const
;
92
SolveStatus<Scalar>
solveImpl
(
93
const
EOpTransp transp,
94
const
MultiVectorBase<Scalar>
&B,
95
const
Ptr
<
MultiVectorBase<Scalar>
> &X,
96
const
Ptr
<
const
SolveCriteria<Scalar>
> solveCriteria
97
)
const
;
99
100
};
101
102
107
template
<
class
Scalar>
108
RCP<DefaultDiagonalLinearOpWithSolve<Scalar>
>
109
defaultDiagonalLinearOpWithSolve
()
110
{
111
return
Teuchos::rcp
(
new
DefaultDiagonalLinearOpWithSolve<Scalar>
);
112
}
113
114
119
template
<
class
Scalar>
120
RCP<DefaultDiagonalLinearOpWithSolve<Scalar>
>
121
defaultDiagonalLinearOpWithSolve
(
122
const
RCP
<
const
VectorBase<Scalar>
> &diag
123
)
124
{
125
RCP<DefaultDiagonalLinearOpWithSolve<Scalar>
> ddlows =
126
defaultDiagonalLinearOpWithSolve<Scalar>
();
127
ddlows->initialize(diag);
128
return
ddlows;
129
}
130
131
132
133
}
// end namespace Thyra
134
135
136
#endif
// THYRA_DIAGONAL_LINEAR_OP_WITH_SOLVE_DECL_HPP
Teuchos::Ptr
Teuchos::RCP
Thyra::DefaultDiagonalLinearOp::DefaultDiagonalLinearOp
DefaultDiagonalLinearOp()
Constructs to uninitialized.
Definition
Thyra_DefaultDiagonalLinearOp_def.hpp:28
Thyra::DefaultDiagonalLinearOpWithSolve::solveSupportsSolveMeasureTypeImpl
bool solveSupportsSolveMeasureTypeImpl(EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_def.hpp:59
Thyra::DefaultDiagonalLinearOpWithSolve::defaultDiagonalLinearOpWithSolve
RCP< DefaultDiagonalLinearOpWithSolve< Scalar > > defaultDiagonalLinearOpWithSolve(const RCP< const VectorBase< Scalar > > &diag)
Nonmember constructor.
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_decl.hpp:121
Thyra::DefaultDiagonalLinearOpWithSolve::solveImpl
SolveStatus< Scalar > solveImpl(const EOpTransp transp, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_def.hpp:68
Thyra::DefaultDiagonalLinearOpWithSolve::defaultDiagonalLinearOpWithSolve
RCP< DefaultDiagonalLinearOpWithSolve< Scalar > > defaultDiagonalLinearOpWithSolve()
Nonmember constructor.
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_decl.hpp:109
Thyra::DefaultDiagonalLinearOpWithSolve::solveSupportsImpl
bool solveSupportsImpl(EOpTransp M_trans) const
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_def.hpp:49
Thyra::DefaultDiagonalLinearOpWithSolve::DefaultDiagonalLinearOpWithSolve
DefaultDiagonalLinearOpWithSolve()
Constructs to uninitialized.
Definition
Thyra_DefaultDiagonalLinearOpWithSolve_def.hpp:28
Thyra::LinearOpWithSolveBase
Base class for all linear operators that can support a high-level solve operation.
Definition
Thyra_LinearOpWithSolveBase_decl.hpp:279
Thyra::MultiVectorBase
Interface for a collection of column vectors called a multi-vector.
Definition
Thyra_MultiVectorBase_decl.hpp:464
Thyra::VectorBase
Abstract interface for finite-dimensional dense vectors.
Definition
Thyra_VectorBase.hpp:115
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Thyra::SolveCriteria
Simple struct that defines the requested solution criteria for a solve.
Definition
Thyra_SolveSupportTypes.hpp:280
Thyra::SolveMeasureType
Solve tolerance type.
Definition
Thyra_SolveSupportTypes.hpp:80
Thyra::SolveStatus
Simple struct for the return status from a solve.
Definition
Thyra_SolveSupportTypes.hpp:391
Generated by
1.17.0