# Annotation of /branches/diaplayground/cusplibrary/cusp/krylov/cg_m.h

Revision 4955 - (hide annotations)
Tue May 20 04:33:15 2014 UTC (6 years, 5 months ago) by caltinay
File MIME type: text/plain
File size: 2398 byte(s)
added pristine copy of cusplibrary (apache license) to be used by ripley.


 1 caltinay 4955 /* 2 * Copyright 2008-2009 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 17 18 /*! \file cg_m.h 19 * \brief Multi-mass Conjugate Gradient (CG-M) method 20 */ 21 22 #pragma once 23 24 #include 25 26 namespace cusp 27 { 28 namespace krylov 29 { 30 31 /*! \addtogroup iterative_solvers Iterative Solvers 32 * \addtogroup krylov_methods Krylov Methods 33 * \ingroup iterative_solvers 34 * \{ 35 */ 36 37 /*! \p cg_m : Multi-mass Conjugate Gradient method 38 * 39 * Solves the symmetric, positive-definited linear system (A+\sigma) x = b 40 * for some set of constant shifts \p sigma for the price of the smallest shift 41 * using the default monitor 42 * 43 * \param A matrix of the linear system 44 * \param x solutions of the system 45 * \param b right-hand side of the linear system 46 * \param sigma array of shifts 47 * 48 */ 49 template 53 void cg_m(LinearOperator& A, 54 VectorType1& x, 55 VectorType2& b, 56 VectorType3& sigma); 57 58 /*! \p cg_m : Multi-mass Conjugate Gradient method 59 * 60 * Solves the symmetric, positive-definited linear system (A+\sigma) x = b 61 * for some set of constant shifts \p sigma for the price of the smallest shift 62 * 63 * \param A matrix of the linear system 64 * \param x solutions of the system 65 * \param b right-hand side of the linear system 66 * \param sigma array of shifts 67 * \param monitor monitors interation and determines stoppoing conditions 68 * 69 */ 70 template 75 void cg_m(LinearOperator& A, 76 VectorType1& x, 77 VectorType2& b, 78 VectorType3& sigma, 79 Monitor& monitor); 80 /*! \} 81 */ 82 83 } // end namespace krylov 84 } // end namespace cusp 85 86 #include 87