synaps/linalg/Decomp.h

Go to the documentation of this file.
00001 /*********************************************************************
00002 *      This file is part of the source code of SYNAPS kernel.        *
00003 *   Author(s): B. Mourrain, GALAAD, INRIA                            *
00004 **********************************************************************
00005 History: 
00006 $Id: Decomp.h,v 1.1 2005/07/11 08:33:33 mourrain Exp $
00007 **********************************************************************/
00008 #ifndef synaps_linalg_Decomp_H
00009 #define synaps_linalg_Decomp_H
00010 //--------------------------------------------------------------------
00011 #include <synaps/init.h>
00012 #include <synaps/linalg/MethodName.h>
00013 //--------------------------------------------------------------------
00014 __BEGIN_NAMESPACE_SYNAPS
00015 
00032 template<class A, class M> inline
00033 M Decomp(const M & mat)
00034 {
00035    M x(mat);
00036    using MATRIX::decomp; decomp(A(),x.rep());
00037    return (x);
00038 }
00039 //--------------------------------------------------------------------------
00041 template<class A, class M> inline
00042 M Triang(const M & mat)
00043 {
00044   M x(mat);
00045   using MATRIX::decomp; decomp(A(),x.rep());
00046   return (x);
00047 }
00048 //----------------------------------------------------------------------
00054 template<class A, class M1, class M2> inline 
00055 M1 Decomp(M1 & mat, M2 & L)
00056 {
00057   M1 x(mat);
00058   using MATRIX::decomp; decomp(A(),x.rep(),L.rep());
00059   return (x);
00060 }
00061 //----------------------------------------------------------------------
00068 template<class A, class M1, class M2, class M3> inline 
00069 M1 Decomp(M1 & mat, M2 & L, M3 & S)
00070 {
00071    M1 x(mat);
00072    using MATRIX::decomp; decomp(A(),x.rep(),L.rep(),S.rep());
00073    return (x);
00074 }
00075 //----------------------------------------------------------------------
00076 __END_NAMESPACE_SYNAPS
00077 #endif // synaps_linalg_Decomp_H
00078 

SYNAPS DOCUMENTATION
logo