Medial Code Documentation
Loading...
Searching...
No Matches
SolverBase.h
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inria.fr>
5//
6// This Source Code Form is subject to the terms of the Mozilla
7// Public License v. 2.0. If a copy of the MPL was not distributed
8// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10#ifndef EIGEN_SOLVERBASE_H
11#define EIGEN_SOLVERBASE_H
12
13namespace Eigen {
14
15namespace internal {
16
17
18
19} // end namespace internal
20
40template<typename Derived>
41class SolverBase : public EigenBase<Derived>
42{
43 public:
44
46 typedef typename internal::traits<Derived>::Scalar Scalar;
47 typedef Scalar CoeffReturnType;
48
49 enum {
58 IsVectorAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime == 1
60 };
61
64 {}
65
67 {}
68
69 using Base::derived;
70
73 template<typename Rhs>
74 inline const Solve<Derived, Rhs>
75 solve(const MatrixBase<Rhs>& b) const
76 {
77 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
78 return Solve<Derived, Rhs>(derived(), b.derived());
79 }
80
82 typedef typename internal::add_const<Transpose<const Derived> >::type ConstTransposeReturnType;
94
98 ConstTransposeReturnType
99 >::type AdjointReturnType;
110 {
112 }
113
114 protected:
115};
116
117namespace internal {
118
119template<typename Derived>
121{
123
124};
125
126} // end namespace internal
127
128} // end namespace Eigen
129
130#endif // EIGEN_SOLVERBASE_H
Pseudo expression representing a solving operation.
Definition Solve.h:63
A base class for matrix decomposition and solvers.
Definition SolverBase.h:42
AdjointReturnType adjoint() const
Definition SolverBase.h:109
SolverBase()
Default constructor.
Definition SolverBase.h:63
ConstTransposeReturnType transpose() const
Definition SolverBase.h:90
const Solve< Derived, Rhs > solve(const MatrixBase< Rhs > &b) const
Definition SolverBase.h:75
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:44
Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor Matrix...
Definition EigenBase.h:29
EIGEN_DEVICE_FUNC Index rows() const
Definition EigenBase.h:58
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:44
The type used to identify a matrix expression.
Definition Constants.h:505
The type used to identify a general solver (foctored) storage.
Definition Constants.h:496
Definition Meta.h:88
Definition Meta.h:34
Definition XprHelper.h:445
Definition XprHelper.h:222
Definition ForwardDeclarations.h:17
Definition Meta.h:30