Skylark (Sketching Library)  0.1
/var/lib/jenkins/jobs/Skylark/workspace/base/QR.hpp
Go to the documentation of this file.
00001 #ifndef SKYLARK_QR_HPP
00002 #define SKYLARK_QR_HPP
00003 
00004 #if SKYLARK_HAVE_ELEMENTAL
00005 #include <elemental.hpp>
00006 #endif
00007 
00008 
00009 namespace skylark { namespace base { namespace qr {
00010 
00011 #if SKYLARK_HAVE_ELEMENTAL
00012 
00013 
00014 template<typename T>
00015 void Explicit(elem::Matrix<T>& A, bool colPiv=false) {
00016 
00017     elem::qr::Explicit(A, colPiv);
00018 }
00019 
00020 
00021 template<typename T>
00022 void Explicit(elem::DistMatrix<T>& A, bool colPiv=false) {
00023 
00024     elem::qr::Explicit(A, colPiv);
00025 }
00026 
00027 
00028 template<typename T>
00029 void Explicit(elem::DistMatrix<T, elem::VC, elem::STAR>& A) {
00030 
00031     elem::DistMatrix<T, elem::STAR, elem::STAR> R;
00032     elem::qr::ExplicitTS(A, R);
00033 }
00034 
00035 
00036 template<typename T>
00037 void Explicit(elem::DistMatrix<T, elem::VR, elem::STAR>& A) {
00038 
00039     elem::DistMatrix<T, elem::STAR, elem::STAR> R;
00040     elem::qr::ExplicitTS(A, R);
00041 }
00042 
00043 #endif // SKYLARK_HAVE_ELEMENTAL
00044 
00045 } } } // namespace skylark::base::qr
00046 
00047 #endif // SKYLARK_QR_HPP