CUSP
Loading...
Searching...
No Matches
cr.h
Go to the documentation of this file.
1/*
2 * Copyright 2008-2014 NVIDIA Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
21#pragma once
22
23#include <cusp/detail/config.h>
24
25#include <cusp/detail/execution_policy.h>
26
27namespace cusp
28{
29namespace krylov
30{
31
38/* \cond */
39template <typename DerivedPolicy,
40 typename LinearOperator,
41 typename VectorType1,
42 typename VectorType2,
43 typename Monitor,
44 typename Preconditioner>
45void cr(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
46 const LinearOperator& A,
47 VectorType1& x,
48 const VectorType2& b,
49 Monitor& monitor,
50 Preconditioner& M);
51
52template <typename LinearOperator,
53 typename VectorType1,
54 typename VectorType2,
55 typename Monitor>
56void cr(const LinearOperator& A,
57 VectorType1& x,
58 const VectorType2& b,
59 Monitor& monitor);
60
61template <typename LinearOperator,
62 typename VectorType1,
63 typename VectorType2>
64void cr(const LinearOperator& A,
65 VectorType1& x,
66 const VectorType2& b);
67/* \endcond */
68
130template <typename LinearOperator,
131 typename VectorType1,
132 typename VectorType2,
133 typename Monitor,
134 typename Preconditioner>
135void cr(const LinearOperator& A,
136 VectorType1& x,
137 const VectorType2& b,
138 Monitor& monitor,
139 Preconditioner& M);
143} // end namespace krylov
144} // end namespace cusp
145
146#include <cusp/krylov/detail/cr.inl>
147
Implements standard convergence criteria and reporting for iterative solvers.
Definition monitor.h:102
void cr(const LinearOperator &A, VectorType1 &x, const VectorType2 &b, Monitor &monitor, Preconditioner &M)
Conjugate Residual method.