MainWindow::MainWindow(QObject *parent) : QObject(parent) { createMembers(); setupMembers(); connectSignals(); }
Teuchos::RCP<NOX::Abstract::MultiVector> NOX::Thyra::Vector:: createMultiVector(int numVecs, NOX::CopyType type) const { TEUCHOS_TEST_FOR_EXCEPTION(nonnull(weightVec_), std::logic_error, "Can NOT create NOX::Thyra::MultiVector from a NOX::Thyra::Vector that contains a weighting vector! "); // Get vector space Teuchos::RCP<const ::Thyra::VectorSpaceBase<double> > space = thyraVec->space(); // Create Thyra multivector Teuchos::RCP< ::Thyra::MultiVectorBase<double> > mv = createMembers(*space, numVecs); // Copy vectors if (type == NOX::DeepCopy) { for (int i=0; i<numVecs; i++) { Teuchos::RCP< ::Thyra::VectorBase<double> > v = mv->col(i); ::Thyra::copy(*thyraVec, v.ptr()); } } // Create multi-vector Teuchos::RCP<NOX::Thyra::MultiVector> nmv = Teuchos::rcp(new NOX::Thyra::MultiVector(mv)); return nmv; }
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> > Thyra::createMembers( const VectorSpaceBase<Scalar> &vs, int numMembers, const std::string &label ) { return createMembers(Teuchos::rcp(&vs,false), numMembers, label); }
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> > Thyra::createMembers( const RCP<const VectorSpaceBase<Scalar> > &vs, const RCP<const VectorSpaceBase<Scalar> > &domain, const std::string &label ) { return createMembers(vs, domain->dim(), label); }
void LinearOpScalarProd<Scalar>::scalarProdsImpl( const MultiVectorBase<Scalar>& X, const MultiVectorBase<Scalar>& Y, const ArrayView<Scalar> &scalarProds_out ) const { Teuchos::RCP<MultiVectorBase<Scalar> > T = createMembers(Y.range() ,Y.domain()->dim()); Thyra::apply(*op_, NOTRANS,Y, T.ptr()); dots(X, *T, scalarProds_out); }
inline RCP<DefaultMultiVectorProductVector<Scalar> > multiVectorProductVector( const RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > &productSpace ) { #ifdef TEUCHOS_DEBUG TEST_FOR_EXCEPT(is_null(productSpace)); #endif return multiVectorProductVector( productSpace, createMembers(productSpace->getBlock(0),productSpace->numBlocks()) ); }