42 #ifndef __Thyra_TsqrAdaptor_hpp 
   43 #define __Thyra_TsqrAdaptor_hpp 
   45 #include "BelosConfigDefs.hpp" 
   50 #include "Thyra_MultiVectorBase.hpp" 
   51 #include "Thyra_SpmdVectorSpaceBase.hpp" 
   85   template<
class Scalar>
 
   88     typedef Thyra::MultiVectorBase<Scalar> 
MV;
 
  102       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  108       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  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");
 
  188       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  207       using Teuchos::rcp_dynamic_cast;
 
  208       using Teuchos::rcp_implicit_cast;
 
  209       typedef Thyra::VectorSpaceBase<Scalar> space_base_type;
 
  210       typedef Thyra::SpmdVectorSpaceBase<Scalar> space_type;
 
  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.");
 
  251 #else // NOT HAVE_MPI 
  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.");
 
  274       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  292       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  317       throw std::logic_error (
"Thyra adaptor for TSQR not implemented");
 
  323 #endif // __Thyra_TsqrAdaptor_hpp 
Teuchos::ScalarTraits< scalar_type >::magnitudeType magnitude_type
 
Thyra::MultiVectorBase< Scalar > MV
 
void prepareDistTsqr(const MV &)
Finish internode TSQR initialization. 
 
void factorExplicit(MV &, MV &, dense_matrix_type &, const bool=false)
Compute QR factorization [Q,R] = qr(A,0). 
 
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > dense_matrix_type
 
Stub adaptor from Thyra::MultiVectorBase to TSQR. 
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const 
 
static Teuchos::RCP< const Teuchos::Comm< int > > getComm(const MV &X)
Attempt to get a communicator out of the given multivector. 
 
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)
 
bool is_null(const RCP< T > &p)
 
int revealRank(MV &, dense_matrix_type &, const magnitude_type &)
Rank-revealing decomposition. 
 
TsqrAdaptor()
Constructor (that uses default parameters). 
 
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &)
 
void prepareNodeTsqr(const MV &)
Finish intranode TSQR initialization. 
 
void prepareTsqr(const MV &)
Finish TSQR initialization.