Skylark (Sketching Library)
0.1
|
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