42 #ifndef __Thyra_TsqrAdaptor_hpp 
   43 #define __Thyra_TsqrAdaptor_hpp 
   50 #include "Thyra_MultiVectorBase.hpp" 
   51 #include "Thyra_SpmdVectorSpaceBase.hpp" 
   54 #  include "Teuchos_DefaultMpiComm.hpp" 
   56 #include "Teuchos_DefaultSerialComm.hpp" 
   57 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp" 
   85   template<
class Scalar>
 
   89     typedef Scalar scalar_type;
 
   90     typedef int ordinal_type; 
 
  102       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  108       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  112     getValidParameters ()
 const 
  114       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  120       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  150       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  186                 const magnitude_type& )
 
  188       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  203     getComm (
const MV& X)
 
  207       using Teuchos::rcp_dynamic_cast;
 
  208       using Teuchos::rcp_implicit_cast;
 
  231         rcp_dynamic_cast<
const Teuchos::MpiComm<Thyra::Ordinal> > (thyraComm);
 
  236           thyraSerialComm.
is_null (), std::runtime_error,
 
  237           "Thyra's communicator is neither an MpiComm nor a SerialComm.  " 
  238           "Sorry, I have no idea what to do with it in that case.");
 
  245         RCP<const Teuchos::OpaqueWrapper<MPI_Comm> > rawMpiComm = thyraMpiComm->getRawMpiComm ();
 
  251 #else // NOT HAVE_MPI 
  253       RCP<const Teuchos::SerialComm<Thyra::Ordinal> > thyraSerialComm =
 
  256         thyraSerialComm.is_null (), std::runtime_error,
 
  257         "Thyra's communicator is not a SerialComm, and MPI is not enabled, so " 
  258         "it can't be an MpiComm either.  That means it must be some other " 
  259         "subclass of Comm, about which I don't know.  " 
  260         "Sorry, I have no idea what to do with it in that case.");
 
  281     prepareDistTsqr (
const MV& ) {}
 
  303     prepareTsqr (
const MV& ) {}
 
  308 #endif // __Thyra_TsqrAdaptor_hpp 
void factorExplicit(MV &, MV &, dense_matrix_type &, const bool=false)
Compute QR factorization [Q,R] = qr(A,0). 
 
Stub adaptor from Thyra::MultiVectorBase to TSQR. 
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
TsqrAdaptor(const Teuchos::RCP< Teuchos::ParameterList > &)
Constructor (that accepts a parameter list). 
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
int revealRank(MV &, dense_matrix_type &, const magnitude_type &)
Rank-revealing decomposition. 
 
TsqrAdaptor()
Constructor (that uses default parameters).