bareiss.hpp

Go to the documentation of this file.
00001 /*****************************************************************************
00002     
00003     bareiss.hpp -- Gauss-Jordan and Gauss forms of an interger matrix.
00004 
00005     This file is a part of the Arageli library.
00006 
00007     Copyright (C) Anna Bestaeva, 2006
00008 
00009 *****************************************************************************/
00010 
00018 #ifndef _ARAGELI_bareiss_hpp_
00019 #define _ARAGELI_bareiss_hpp_
00020 
00021 #include "config.hpp"
00022 
00023 
00024 namespace Arageli
00025 {
00026 
00027 
00029 
00037 template
00038 <
00039     typename MA,
00040     typename MB,
00041     typename MQ,
00042     typename Basis,
00043     typename T_det
00044 >
00045 void bareiss
00046 (
00047     const MA& A,
00048     MB& B,
00049     MQ& Q,
00050     Basis& basis,
00051     T_det& det
00052 );
00053 
00054 
00056 
00063 template
00064 <
00065     typename MA,
00066     typename MP,
00067     typename MQ,
00068     typename Rank,
00069     typename T_det
00070 >
00071 void bareiss_pq
00072 (   const MA& A,
00073     MP& P,
00074     MQ& Q,
00075     Rank& rank, // WARNING! Maybe just templated typename will be better.
00076     T_det& det
00077 );
00078 
00079 
00080 template <typename MA> MA adjoint (const MA& A);
00081 
00082 
00083 template 
00084 <
00085     typename MA,
00086     typename MP,
00087     typename T_det
00088 >
00089 void adjoint 
00090 (
00091     const MA& A,
00092     MP& P,
00093     T_det& det
00094 );
00095 
00096 
00097 template <typename MA>
00098 typename MA::element_type det_brs (const MA& A);
00099 
00100 
00101 template <typename MA>
00102 typename MA::size_type rank_brs (const MA& A);
00103 
00104 
00105 } // namesapce Arageli
00106 
00107 
00108 #ifdef ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE
00109     #define ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_bareiss
00110     #include "bareiss.cpp"
00111     #undef  ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_bareiss
00112 #endif
00113 
00114 #endif  // #ifndef _ARAGELI_bareiss_hpp_

Generated on Thu Aug 31 17:38:04 2006 for Arageli by  doxygen 1.4.7