Xpetra_TpetraBlockCrsMatrix.hpp
Go to the documentation of this file.
1 // @HEADER
2 //
3 // ***********************************************************************
4 //
5 // Xpetra: A linear algebra interface package
6 // Copyright 2012 Sandia Corporation
7 //
8 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9 // the U.S. Government retains certain rights in this software.
10 //
11 // Redistribution and use in source and binary forms, with or without
12 // modification, are permitted provided that the following conditions are
13 // met:
14 //
15 // 1. Redistributions of source code must retain the above copyright
16 // notice, this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright
19 // notice, this list of conditions and the following disclaimer in the
20 // documentation and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of the Corporation nor the names of the
23 // contributors may be used to endorse or promote products derived from
24 // this software without specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 //
38 // Questions? Contact
39 // Jonathan Hu (jhu@sandia.gov)
40 // Andrey Prokopenko (aprokop@sandia.gov)
41 // Ray Tuminaro (rstumin@sandia.gov)
42 //
43 // ***********************************************************************
44 //
45 // @HEADER
46 #ifndef XPETRA_TPETRABLOCKCRSMATRIX_HPP
47 #define XPETRA_TPETRABLOCKCRSMATRIX_HPP
48 
49 /* this file is automatically generated - do not edit (see script/tpetra.py) */
50 
52 
53 #include "Tpetra_Experimental_BlockCrsMatrix.hpp"
54 #include "Tpetra_CrsMatrix.hpp"
55 
56 #include "Xpetra_CrsMatrix.hpp"
57 #include "Xpetra_TpetraMap.hpp"
59 #include "Xpetra_TpetraVector.hpp"
61 //#include "Xpetra_TpetraCrsMatrix.hpp"
62 #include "Xpetra_Exceptions.hpp"
63 
64 
65 namespace Xpetra {
66 
67  template <class Scalar, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
69  : public CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node>//, public TpetraRowMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node>
70  {
71 
72  // The following typedef are used by the XPETRA_DYNAMIC_CAST() macro.
77 
78  public:
79 
81 
82 
84  TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
85  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
86 
89  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
90 
93  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
94 
97  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
98 
101  : mtx_(Teuchos::rcp(new Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >(toTpetra(graph), params)))
102  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
103 
105  TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node> > &graph, const LocalOrdinal blockSize)
106  : mtx_(Teuchos::rcp(new Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node>(toTpetra(graph), blockSize))) { }
107 
108 
109 
110 
112  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
114  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
115  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
116  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
117  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
118 
120  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
122  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
123  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
124  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
125  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
126 
128  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
129  const Import<LocalOrdinal,GlobalOrdinal,Node> & RowImporter,
130  const Teuchos::RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > DomainImporter,
131  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
132  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
134  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
135 
137  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
138  const Export<LocalOrdinal,GlobalOrdinal,Node> & RowExporter,
139  const Teuchos::RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > DomainExporter,
140  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
141  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
143  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
144 
146  virtual ~TpetraBlockCrsMatrix() { }
147 
149 
151 
152 
154  void insertGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
155  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
156 
158  void insertLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
159  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
160 
162  void replaceGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
163  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
164 
166  void replaceLocalValues (LocalOrdinal localRow,const ArrayView<const LocalOrdinal> &cols,const ArrayView<const Scalar> &vals)
167  {
168  XPETRA_MONITOR("TpetraBlockCrsMatrix::replaceLocalValues");
169  mtx_->replaceLocalValues(localRow,cols.getRawPtr(),vals.getRawPtr(),cols.size());
170  }
171 
173  void setAllToScalar(const Scalar &alpha) { XPETRA_MONITOR("TpetraBlockCrsMatrix::setAllToScalar"); mtx_->setAllToScalar(alpha); }
174 
176  void scale(const Scalar &alpha)
177  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
178 
180  //** \warning This is an expert-only routine and should not be called from user code. (not implemented)
181  void allocateAllValues(size_t numNonZeros,ArrayRCP<size_t> & rowptr, ArrayRCP<LocalOrdinal> & colind, ArrayRCP<Scalar> & values)
182  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
183 
185  void setAllValues(const ArrayRCP<size_t> & rowptr, const ArrayRCP<LocalOrdinal> & colind, const ArrayRCP<Scalar> & values)
186  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
187 
190  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
191 
193 
195 
196 
198  void resumeFill(const RCP< ParameterList > &params=null) { /*noop*/ }
199 
201  void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null) { /*noop*/ }
202 
204  void fillComplete(const RCP< ParameterList > &params=null) { /*noop*/ }
205 
206 
209  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
210 
213  const RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > & rangeMap,
214  const RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > &importer=Teuchos::null,
215  const RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > &exporter=Teuchos::null,
216  const RCP<ParameterList> &params=Teuchos::null)
217  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
218 
220 
222 
223 
225  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getRowMap"); return toXpetra(mtx_->getRowMap()); }
226 
228  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getColMap"); return toXpetra(mtx_->getColMap()); }
229 
232  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
233 
235  global_size_t getGlobalNumRows() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalNumRows"); return mtx_->getGlobalNumRows(); }
236 
238  global_size_t getGlobalNumCols() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalNumCols"); return mtx_->getGlobalNumCols(); }
239 
241  size_t getNodeNumRows() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getNodeNumRows"); return mtx_->getNodeNumRows(); }
242 
244  size_t getNodeNumCols() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getNodeNumCols"); return mtx_->getNodeNumCols(); }
245 
247  global_size_t getGlobalNumEntries() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalNumEntries"); return mtx_->getGlobalNumEntries(); }
248 
250  size_t getNodeNumEntries() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getNodeNumEntries"); return mtx_->getNodeNumEntries(); }
251 
253  size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getNumEntriesInLocalRow"); return mtx_->getNumEntriesInLocalRow(localRow); }
254 
256  size_t getGlobalMaxNumRowEntries() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalMaxNumRowEntries"); return mtx_->getGlobalMaxNumRowEntries(); }
257 
259  size_t getNodeMaxNumRowEntries() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getNodeMaxNumRowEntries"); return mtx_->getNodeMaxNumRowEntries(); }
260 
262  bool isLocallyIndexed() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::isLocallyIndexed"); return mtx_->isLocallyIndexed(); }
263 
265  bool isGloballyIndexed() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::isGloballyIndexed"); return mtx_->isGloballyIndexed(); }
266 
268  bool isFillComplete() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::isFillComplete"); return mtx_->isFillComplete(); }
269 
271  bool isFillActive() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::isFillActive"); return false; }
272 
274  typename ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getFrobeniusNorm"); return mtx_->getFrobeniusNorm(); }
275 
277  bool supportsRowViews() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::supportsRowViews"); return mtx_->supportsRowViews(); }
278 
280  void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getLocalRowCopy"); mtx_->getLocalRowCopy(LocalRow, Indices, Values, NumEntries); }
281 
283  void getGlobalRowView(GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalRowView"); mtx_->getGlobalRowView(GlobalRow, indices, values); }
284 
286  void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getGlobalRowCopy"); mtx_->getGlobalRowCopy(GlobalRow, indices, values, numEntries); }
287 
289  void getLocalRowView(LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getLocalRowView"); mtx_->getLocalRowView(LocalRow, indices, values); }
290 
292  virtual bool haveGlobalConstants() const {return true;}
293 
294 
296 
298 
299 
302 
304  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getDomainMap"); return toXpetra(mtx_->getDomainMap()); }
305 
307  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::getRangeMap"); return toXpetra(mtx_->getRangeMap()); }
308 
310 
312 
313 
315  std::string description() const { XPETRA_MONITOR("TpetraBlockCrsMatrix::description"); return mtx_->description(); }
316 
318  void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const { XPETRA_MONITOR("TpetraBlockCrsMatrix::describe"); mtx_->describe(out, verbLevel); }
319 
321 
324  : mtx_ (matrix.mtx_->template clone<Node> (matrix.mtx_->getNode ())) {}
325 
328  XPETRA_MONITOR("TpetraBlockCrsMatrix::getLocalDiagCopy");
329  XPETRA_DYNAMIC_CAST(TpetraVectorClass, diag, tDiag, "Xpetra::TpetraBlockCrsMatrix.getLocalDiagCopy() only accept Xpetra::TpetraVector as input arguments.")
330 
331  mtx_->getLocalDiagCopy(*tDiag.getTpetra_Vector());
332  }
333 
336  XPETRA_MONITOR("TpetraBlockCrsMatrix::getLocalDiagOffsets");
337 
338  const size_t lclNumRows = mtx_->getGraph()->getNodeNumRows();
339  if (static_cast<size_t>(offsets.size()) < lclNumRows) {
340  offsets.resize(lclNumRows);
341  }
342 
343  // The input ArrayRCP must always be a host pointer. Thus, if
344  // device_type::memory_space is Kokkos::HostSpace, it's OK for us
345  // to write to that allocation directly as a Kokkos::View.
346  typedef typename Node::device_type device_type;
347  typedef typename device_type::memory_space memory_space;
348  if (std::is_same<memory_space, Kokkos::HostSpace>::value) {
349  // It is always syntactically correct to assign a raw host
350  // pointer to a device View, so this code will compile correctly
351  // even if this branch never runs.
352  typedef Kokkos::View<size_t*, device_type,
353  Kokkos::MemoryUnmanaged> output_type;
354  output_type offsetsOut (offsets.getRawPtr(), offsets.size());
355  mtx_->getLocalDiagOffsets(offsetsOut);
356  }
357  else {
358  Kokkos::View<size_t*, device_type> offsetsTmp ("diagOffsets", offsets.size());
359  mtx_->getLocalDiagOffsets(offsetsTmp);
360  typedef Kokkos::View<size_t*, Kokkos::HostSpace,
361  Kokkos::MemoryUnmanaged> output_type;
362  output_type offsetsOut(offsets.getRawPtr(), offsets.size());
363  Kokkos::deep_copy(offsetsOut, offsetsTmp);
364  }
365 
366  }
367 
370  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
371 
374  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");
375  }
376 
379  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");
380  }
381 
383  //{@
384 
387 
391  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
392 
396  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
397 
401  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
402 
406  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
407 
409  {throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix function not implemented");}
410 
411  // @}
412 
413  template<class Node2>
416  }
417 
419 
420 
422  bool hasMatrix() const { return !mtx_.is_null();}
423 
425  TpetraBlockCrsMatrix(const Teuchos::RCP<Tpetra::Experimental::BlockCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > &mtx) : mtx_(mtx) { }
426 
429 
432 
433 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
434 #ifdef HAVE_XPETRA_TPETRA
436 
437  local_matrix_type getLocalMatrix () const {
438  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support getLocalMatrix due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
439 #ifndef __NVCC__ //prevent nvcc warning
440  local_matrix_type ret;
441 #endif
443  }
444 
445  void setAllValues (const typename local_matrix_type::row_map_type& ptr,
446  const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type& ind,
447  const typename local_matrix_type::values_type& val)
448  {
449  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support setAllValues due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
450  }
451 #endif
452 #endif
453 
454 
455  private:
456 
458 
459  }; // TpetraBlockCrsMatrix class
460 
461 #ifdef HAVE_XPETRA_EPETRA
462 
463 #if ((defined(EPETRA_HAVE_OMP) && (!defined(HAVE_TPETRA_INST_OPENMP) || !defined(HAVE_TPETRA_INST_INT_INT))) || \
464  (!defined(EPETRA_HAVE_OMP) && (!defined(HAVE_TPETRA_INST_SERIAL) || !defined(HAVE_TPETRA_INST_INT_INT))))
465 
466  // specialization of TpetraBlockCrsMatrix for GO=LO=int and Node=EpetraNode
467  template <class Scalar>
468  class TpetraBlockCrsMatrix<Scalar,int,int,EpetraNode>
469  : public CrsMatrix<Scalar,int,int,EpetraNode>//, public TpetraRowMatrix<Scalar,int,int,Node>
470  {
471 
472  // The following typedef are used by the XPETRA_DYNAMIC_CAST() macro.
473  typedef int LocalOrdinal;
474  typedef int GlobalOrdinal;
475  typedef EpetraNode Node;
480 
481  public:
482 
484 
485 
487  TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null) {
489  }
490 
494  }
495 
499  }
500 
504  }
505 
509  }
510 
514  }
515 
517  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
519  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
520  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
521  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
523 
525  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
527  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
528  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
529  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
531 
533  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
534  const Import<LocalOrdinal,GlobalOrdinal,Node> & RowImporter,
535  const Teuchos::RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > DomainImporter,
536  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
537  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
540 
542  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
543  const Export<LocalOrdinal,GlobalOrdinal,Node> & RowExporter,
544  const Teuchos::RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > DomainExporter,
545  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
546  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
549 
551  virtual ~TpetraBlockCrsMatrix() { }
552 
554 
556 
557 
560  {}
561 
564  {}
565 
568  {}
569 
572  {}
573 
575  void setAllToScalar(const Scalar &alpha) {}
576 
578  void scale(const Scalar &alpha)
579  {}
580 
582  //** \warning This is an expert-only routine and should not be called from user code. (not implemented)
583  void allocateAllValues(size_t numNonZeros,ArrayRCP<size_t> & rowptr, ArrayRCP<LocalOrdinal> & colind, ArrayRCP<Scalar> & values)
584  {}
585 
587  void setAllValues(const ArrayRCP<size_t> & rowptr, const ArrayRCP<LocalOrdinal> & colind, const ArrayRCP<Scalar> & values)
588  {}
589 
592  {}
593 
595 
597 
598 
600  void resumeFill(const RCP< ParameterList > &params=null) { /*noop*/ }
601 
603  void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null) { /*noop*/ }
604 
606  void fillComplete(const RCP< ParameterList > &params=null) { /*noop*/ }
607 
608 
611  {}
612 
615  const RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > & rangeMap,
616  const RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > &importer=Teuchos::null,
617  const RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > &exporter=Teuchos::null,
618  const RCP<ParameterList> &params=Teuchos::null)
619  {}
620 
622 
624 
625 
627  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const { return Teuchos::null; }
628 
630  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const { return Teuchos::null; }
631 
634  {return Teuchos::null;}
635 
637  global_size_t getGlobalNumRows() const { return 0; }
638 
640  global_size_t getGlobalNumCols() const { return 0; }
641 
643  size_t getNodeNumRows() const { return 0; }
644 
646  size_t getNodeNumCols() const { return 0; }
647 
649  global_size_t getGlobalNumEntries() const { return 0; }
650 
652  size_t getNodeNumEntries() const { return 0; }
653 
655  size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const { return 0; }
656 
658  size_t getGlobalMaxNumRowEntries() const { return 0; }
659 
661  size_t getNodeMaxNumRowEntries() const { return 0; }
662 
664  bool isLocallyIndexed() const { return false; }
665 
667  bool isGloballyIndexed() const { return false; }
668 
670  bool isFillComplete() const { return false; }
671 
673  bool isFillActive() const { return false; }
674 
677 
679  bool supportsRowViews() const { return false; }
680 
682  void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const { }
683 
686 
688  void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const { }
689 
692 
694  virtual bool haveGlobalConstants() const {return false;}
695 
697 
699 
700 
703 
705  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const { return Teuchos::null; }
706 
708  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const { return Teuchos::null; }
709 
711 
713 
714 
716  std::string description() const { return std::string(""); }
717 
720 
722 
725 
728 
731 
734  {}
735 
738 
739 
741  //{@
742 
745 
749  {}
750 
754  {}
755 
759  {}
760 
764  {}
765 
767  {}
768 
769  // @}
770 
771  template<class Node2>
773 
775 
776 
778  bool hasMatrix() const { return false; }
779 
781  TpetraBlockCrsMatrix(const Teuchos::RCP<Tpetra::Experimental::BlockCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > &mtx) {
783  }
784 
787 
790 
791 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
792 #ifdef HAVE_XPETRA_TPETRA
794 
795  local_matrix_type getLocalMatrix () const {
796  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support getLocalMatrix due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
797  local_matrix_type ret;
798  return ret; // make compiler happy
799  }
800 
801  void setAllValues (const typename local_matrix_type::row_map_type& ptr,
802  const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type& ind,
803  const typename local_matrix_type::values_type& val)
804  {
805  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support setAllValues due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
806  }
807 #endif
808 #endif
809 
810 
811  }; // TpetraBlockCrsMatrix class
812 #endif
813 
814 #if ((defined(EPETRA_HAVE_OMP) && (!defined(HAVE_TPETRA_INST_OPENMP) || !defined(HAVE_TPETRA_INST_INT_LONG_LONG))) || \
815  (!defined(EPETRA_HAVE_OMP) && (!defined(HAVE_TPETRA_INST_SERIAL) || !defined(HAVE_TPETRA_INST_INT_LONG_LONG))))
816 
817  // specialization of TpetraBlockCrsMatrix for GO=long long and Node=EpetraNode
818  template <class Scalar>
819  class TpetraBlockCrsMatrix<Scalar,int,long long,EpetraNode>
820  : public CrsMatrix<Scalar,int,long long,EpetraNode>//, public TpetraRowMatrix<Scalar,int,int,Node>
821  {
822 
823  // The following typedef are used by the XPETRA_DYNAMIC_CAST() macro.
824  typedef int LocalOrdinal;
825  typedef long long GlobalOrdinal;
826  typedef EpetraNode Node;
831 
832  public:
833 
835 
836 
838  TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
840 
844 
848 
852 
856 
860 
861 
862 
863 
865  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
867  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
868  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
869  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
871 
873  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
875  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap = Teuchos::null,
876  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap = Teuchos::null,
877  const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null)
879 
881  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
882  const Import<LocalOrdinal,GlobalOrdinal,Node> & RowImporter,
883  const Teuchos::RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > DomainImporter,
884  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
885  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
888 
890  TpetraBlockCrsMatrix(const Teuchos::RCP<const Tpetra::Experimental::BlockCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& sourceMatrix,
891  const Export<LocalOrdinal,GlobalOrdinal,Node> & RowExporter,
892  const Teuchos::RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > DomainExporter,
893  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& domainMap,
894  const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& rangeMap,
897 
899  virtual ~TpetraBlockCrsMatrix() { }
900 
902 
904 
905 
908  {}
909 
912  {}
913 
916  {}
917 
920  {}
921 
923  void setAllToScalar(const Scalar &alpha) {}
924 
926  void scale(const Scalar &alpha)
927  {}
928 
930  //** \warning This is an expert-only routine and should not be called from user code. (not implemented)
931  void allocateAllValues(size_t numNonZeros,ArrayRCP<size_t> & rowptr, ArrayRCP<LocalOrdinal> & colind, ArrayRCP<Scalar> & values)
932  {}
933 
935  void setAllValues(const ArrayRCP<size_t> & rowptr, const ArrayRCP<LocalOrdinal> & colind, const ArrayRCP<Scalar> & values)
936  {}
937 
940  {}
941 
943 
945 
946 
948  void resumeFill(const RCP< ParameterList > &params=null) { /*noop*/ }
949 
951  void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null) { /*noop*/ }
952 
954  void fillComplete(const RCP< ParameterList > &params=null) { /*noop*/ }
955 
956 
959  {}
960 
963  const RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > & rangeMap,
964  const RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > &importer=Teuchos::null,
965  const RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > &exporter=Teuchos::null,
966  const RCP<ParameterList> &params=Teuchos::null)
967  {}
968 
970 
972 
973 
975  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const { return Teuchos::null; }
976 
978  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const { return Teuchos::null; }
979 
982  {return Teuchos::null;}
983 
985  global_size_t getGlobalNumRows() const { return 0; }
986 
988  global_size_t getGlobalNumCols() const { return 0; }
989 
991  size_t getNodeNumRows() const { return 0; }
992 
994  size_t getNodeNumCols() const { return 0; }
995 
997  global_size_t getGlobalNumEntries() const { return 0; }
998 
1000  size_t getNodeNumEntries() const { return 0; }
1001 
1003  size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const { return 0; }
1004 
1006  size_t getGlobalMaxNumRowEntries() const { return 0; }
1007 
1009  size_t getNodeMaxNumRowEntries() const { return 0; }
1010 
1012  bool isLocallyIndexed() const { return false; }
1013 
1015  bool isGloballyIndexed() const { return false; }
1016 
1018  bool isFillComplete() const { return false; }
1019 
1021  bool isFillActive() const { return false; }
1022 
1025 
1027  bool supportsRowViews() const { return false; }
1028 
1030  void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const { }
1031 
1034 
1036  void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const { }
1037 
1040 
1042  virtual bool haveGlobalConstants() const {return true;}
1043 
1045 
1047 
1048 
1051 
1053  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const { return Teuchos::null; }
1054 
1056  const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const { return Teuchos::null; }
1057 
1059 
1061 
1062 
1064  std::string description() const { return std::string(""); }
1065 
1068 
1070 
1073 
1076 
1079 
1082  {}
1083 
1086 
1088  //{@
1089 
1092 
1096  {}
1097 
1101  {}
1102 
1106  {}
1107 
1111  {}
1112 
1114  {}
1115 
1116  // @}
1117 
1118  template<class Node2>
1120 
1122 
1123 
1125  bool hasMatrix() const { return false; }
1126 
1128  TpetraBlockCrsMatrix(const Teuchos::RCP<Tpetra::Experimental::BlockCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > &mtx) {
1130  }
1131 
1134 
1137 
1138 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
1139 #ifdef HAVE_XPETRA_TPETRA
1141 
1142  local_matrix_type getLocalMatrix () const {
1143  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support getLocalMatrix due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
1144  local_matrix_type ret;
1146  }
1147 
1148  void setAllValues (const typename local_matrix_type::row_map_type& ptr,
1149  const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type& ind,
1150  const typename local_matrix_type::values_type& val)
1151  {
1152  throw std::runtime_error("Xpetra::TpetraBlockCrsMatrix does not support setAllValues due to missing Kokkos::CrsMatrix in Tpetra's experimental implementation");
1153  }
1154 #endif
1155 #endif
1156 
1157 
1158  }; // TpetraBlockCrsMatrix class
1159 #endif
1160 
1161 #endif // HAVE_XPETRA_EPETRA
1162 
1163 } // Xpetra namespace
1164 
1165 #define XPETRA_TPETRABLOCKCRSMATRIX_SHORT
1166 #endif // XPETRA_TPETRABLOCKCRSMATRIX_HPP
Xpetra::TpetraBlockCrsMatrix::isLocallyIndexed
bool isLocallyIndexed() const
If matrix indices are in the local range, this function returns true. Otherwise, this function return...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:262
Xpetra::TpetraBlockCrsMatrix::replaceDomainMapAndImporter
void replaceDomainMapAndImporter(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
Replaces the current domainMap and importer with the user-specified objects.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:208
KokkosClassic::Details::getNode
Teuchos::RCP< NodeType > getNode()
Definition: Kokkos_DefaultNode.hpp:71
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getCrsGraph
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > getCrsGraph() const
Returns the CrsGraph associated with this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:981
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getAllValues
void getAllValues(ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
Gets the 1D pointer arrays of the graph (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:939
Xpetra::TpetraBlockCrsMatrix::getGlobalNumRows
global_size_t getGlobalNumRows() const
Number of global elements in the row map of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:235
Xpetra::TpetraImport
Definition: Xpetra_TpetraImport.hpp:72
Xpetra::TpetraBlockCrsMatrix::getLocalRowCopy
void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calli...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:280
Kokkos::Compat::KokkosSerialWrapperNode
Definition: Kokkos_SerialNode.hpp:57
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraVectorClass
TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraVectorClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:828
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumCols
global_size_t getGlobalNumCols() const
Number of global columns in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:640
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &mtx)
TpetraBlockCrsMatrix constructor to wrap a Tpetra::BlockCrsMatrix object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1128
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumRows
global_size_t getGlobalNumRows() const
Number of global elements in the row map of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:637
Xpetra::TpetraBlockCrsMatrix::getNodeNumRows
size_t getNodeNumRows() const
Returns the number of matrix rows owned on the calling node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:241
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:873
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::allocateAllValues
void allocateAllValues(size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:931
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::supportsRowViews
bool supportsRowViews() const
Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1027
Xpetra::TpetraBlockCrsMatrix::description
std::string description() const
A simple one-line description of this object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:315
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getNodeNumCols
size_t getNodeNumCols() const
Returns the number of columns connected to the locally owned rows of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:646
Xpetra::TpetraBlockCrsMatrix::hasMatrix
bool hasMatrix() const
Does this have an underlying matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:422
Xpetra::TpetraBlockCrsMatrix
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:68
Xpetra::TpetraBlockCrsMatrix::insertLocalValues
void insertLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using local IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:158
Xpetra::TpetraBlockCrsMatrix::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Export.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:394
Xpetra
Xpetra namespace
Definition: Xpetra_BlockedCrsMatrix.hpp:86
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Import (using an Exporter).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:757
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::scale
void scale(const Scalar &alpha)
Scale the current values of a matrix, this = alpha*this (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:578
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying (possibly different) number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:492
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::replaceDomainMapAndImporter
void replaceDomainMapAndImporter(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
Replaces the current domainMap and importer with the user-specified objects.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:958
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying a previously constructed graph ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:854
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalRowView
void getGlobalRowView(GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of global indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1033
Xpetra::TpetraBlockCrsMatrix::resumeFill
void resumeFill(const RCP< ParameterList > &params=null)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:198
Xpetra::TpetraBlockCrsMatrix::scale
void scale(const Scalar &alpha)
Scale the current values of a matrix, this = alpha*this (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:176
Xpetra::TpetraBlockCrsMatrix::getColMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const
Returns the Map that describes the column distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:228
Xpetra::global_size_t
size_t global_size_t
Global size_t object.
Definition: Xpetra_ConfigDefs.hpp:170
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::Node
EpetraNode Node
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:475
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowCopy
void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calli...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:682
Xpetra::TpetraBlockCrsMatrix::rightScale
void rightScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Right scale operator with given vector values.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:378
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getDomainMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const
Returns the Map associated with the domain of this operator. This will be null until fillComplete() i...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1053
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
Get a copy of the diagonal entries owned by this node, with local row idices {.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:727
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraExportClass
TpetraExport< LocalOrdinal, GlobalOrdinal, Node > TpetraExportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:479
Xpetra::toTpetra
RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > toTpetra(const RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph)
Definition: Xpetra_TpetraCrsGraph.hpp:338
Xpetra::DistObject< char, LocalOrdinal, GlobalOrdinal, Node >
Xpetra::MultiVector
Definition: Xpetra_MultiVector.hpp:76
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getNumEntriesInLocalRow
size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const
Returns the current number of entries on this node in the specified local row.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1003
Teuchos::ScalarTraits::magnitude
static magnitudeType magnitude(T a)
Xpetra::TpetraBlockCrsMatrix::fillComplete
void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)
Signal that data entry is complete, specifying domain and range maps.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:201
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::isLocallyIndexed
bool isLocallyIndexed() const
If matrix indices are in the local range, this function returns true. Otherwise, this function return...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1012
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::resumeFill
void resumeFill(const RCP< ParameterList > &params=null)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:600
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:497
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const LocalOrdinal blockSize)
Constructor specifying a previously constructed graph & blocksize.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:512
Xpetra::DynamicProfile
Definition: Xpetra_ConfigDefs.hpp:187
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraImportClass
TpetraImport< LocalOrdinal, GlobalOrdinal, Node > TpetraImportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:478
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &mtx)
TpetraBlockCrsMatrix constructor to wrap a Tpetra::BlockCrsMatrix object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:425
Xpetra::TpetraBlockCrsMatrix::removeEmptyProcessesInPlace
void removeEmptyProcessesInPlace(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:408
Xpetra::TpetraBlockCrsMatrix::leftScale
void leftScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Left scale operator with given vector values.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:373
XPETRA_DYNAMIC_CAST
#define XPETRA_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)
Definition: Xpetra_Exceptions.hpp:58
Xpetra::TpetraBlockCrsMatrix::getFrobeniusNorm
ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm() const
Returns the Frobenius norm of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:274
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:525
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::replaceDomainMapAndImporter
void replaceDomainMapAndImporter(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
Replaces the current domainMap and importer with the user-specified objects.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:610
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Import.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1094
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::isLocallyIndexed
bool isLocallyIndexed() const
If matrix indices are in the local range, this function returns true. Otherwise, this function return...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:664
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::removeEmptyProcessesInPlace
void removeEmptyProcessesInPlace(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1113
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getMap
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
Implements DistObject interface.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1091
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowCopy
void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const
Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:688
Xpetra_TpetraMultiVector.hpp
Xpetra::TpetraBlockCrsMatrix::apply
void apply(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const
Computes the sparse matrix-multivector multiplication.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:301
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &mtx)
TpetraBlockCrsMatrix constructor to wrap a Tpetra::BlockCrsMatrix object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:781
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalMaxNumRowEntries
size_t getGlobalMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on all nodes.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:658
Xpetra::Export
Definition: Xpetra_Export.hpp:62
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getFrobeniusNorm
ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm() const
Returns the Frobenius norm of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1024
Xpetra::TpetraBlockCrsMatrix::getAllValues
void getAllValues(ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
Gets the 1D pointer arrays of the graph (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:189
Teuchos::NO_TRANS
NO_TRANS
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::leftScale
void leftScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Left scale matrix using the given vector entries.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1084
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying a previously constructed graph ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:100
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getLocalRowCopy
void getLocalRowCopy(LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calli...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1030
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getNumEntriesInLocalRow
size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const
Returns the current number of entries on this node in the specified local row.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:655
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::replaceLocalValues
void replaceLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using local IDs.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:571
Xpetra::TpetraBlockCrsMatrix::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Export (using an Importer).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:404
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getColMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const
Returns the Map that describes the column distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:630
Xpetra::toXpetra
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)
Definition: Xpetra_EpetraCrsGraph.cpp:168
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getLocalRowView
void getLocalRowView(LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of local indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1039
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraVectorClass
TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraVectorClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:477
Xpetra::TpetraBlockCrsMatrix::getGlobalRowView
void getGlobalRowView(GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of global indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:283
rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::allocateAllValues
void allocateAllValues(size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:583
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:487
Teuchos::EVerbosityLevel
EVerbosityLevel
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::insertGlobalValues
void insertGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:559
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
Get a copy of the diagonal entries owned by this node, with local row idices {.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1075
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &RowImporter, const Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > DomainImporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:128
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::hasMatrix
bool hasMatrix() const
Does this have an underlying matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1125
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::isFillActive
bool isFillActive() const
Returns true if the matrix is in edit mode.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1021
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete
void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)
Signal that data entry is complete, specifying domain and range maps.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:603
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::expertStaticFillComplete
void expertStaticFillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
Expert static fill complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:962
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getRangeMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const
Returns the Map associated with the range of this operator, which must be compatible with Y....
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:708
Xpetra::TpetraBlockCrsMatrix::getNodeNumEntries
size_t getNodeNumEntries() const
Returns the local number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:250
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getLocalDiagOffsets
void getLocalDiagOffsets(Teuchos::ArrayRCP< size_t > &offsets) const
Get offsets of the diagonal entries in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1078
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::isGloballyIndexed
bool isGloballyIndexed() const
If matrix indices are in the global range, this function returns true. Otherwise, this function retur...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1015
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:517
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumEntries
global_size_t getGlobalNumEntries() const
Returns the global number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:649
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::isFillComplete
bool isFillComplete() const
Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:670
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getColMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const
Returns the Map that describes the column distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:978
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Import.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:747
Teuchos::ArrayView
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_BlockCrsMatrixNonConst
RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrixNonConst() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:789
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::LocalOrdinal
int LocalOrdinal
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:473
Xpetra::TpetraBlockCrsMatrix::describe
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Print the object with some verbosity level to an FancyOStream object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:318
Xpetra::Map
Definition: Xpetra_Map.hpp:90
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::replaceGlobalValues
void replaceGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:915
Xpetra::Import
Definition: Xpetra_Import.hpp:62
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::setAllValues
void setAllValues(const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
Sets the 1D pointer arrays of the graph (not impelmented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:587
Xpetra::TpetraBlockCrsMatrix::getNodeNumCols
size_t getNodeNumCols() const
Returns the number of columns connected to the locally owned rows of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:244
Xpetra::TpetraBlockCrsMatrix::mtx_
RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > mtx_
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:457
Xpetra::CombineMode
CombineMode
Xpetra::Combine Mode enumerable type.
Definition: Xpetra_ConfigDefs.hpp:214
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &RowExporter, const Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > DomainExporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:137
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getTpetra_BlockCrsMatrix
RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrix() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1133
Xpetra::TpetraBlockCrsMatrix::getTpetra_BlockCrsMatrix
RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrix() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:428
Teuchos::RCP
Xpetra::TpetraBlockCrsMatrix::getGlobalMaxNumRowEntries
size_t getGlobalMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on all nodes.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:256
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete
void fillComplete(const RCP< ParameterList > &params=null)
Signal that data entry is complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:606
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::Node
EpetraNode Node
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:826
Xpetra::TpetraBlockCrsMatrix::getNumEntriesInLocalRow
size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const
Returns the current number of entries on this node in the specified local row.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:253
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowView
void getGlobalRowView(GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of global indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:685
Xpetra::TpetraBlockCrsMatrix::fillComplete
void fillComplete(const RCP< ParameterList > &params=null)
Signal that data entry is complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:204
Xpetra::TpetraExport
Definition: Xpetra_TpetraExport.hpp:73
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying (possibly different) number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:88
Xpetra::TpetraBlockCrsMatrix::setAllValues
void setAllValues(const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
Sets the 1D pointer arrays of the graph (not impelmented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:185
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrixClass
TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraBlockCrsMatrixClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:827
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::hasMatrix
bool hasMatrix() const
Does this have an underlying matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:778
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:120
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const TpetraBlockCrsMatrix &matrix)
Deep copy constructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1072
Xpetra_TpetraMap.hpp
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::rightScale
void rightScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Right scale matrix using the given vector entries.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1085
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &RowImporter, const Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > DomainImporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:881
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getNodeNumEntries
size_t getNodeNumEntries() const
Returns the local number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1000
Xpetra::Vector
Definition: Xpetra_Vector_fwd.hpp:51
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:502
Teuchos::ArrayRCP
Xpetra::TpetraBlockCrsMatrix::getLocalDiagOffsets
void getLocalDiagOffsets(Teuchos::ArrayRCP< size_t > &offsets) const
Get offsets of the diagonal entries in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:335
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getNodeNumEntries
size_t getNodeNumEntries() const
Returns the local number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:652
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::resumeFill
void resumeFill(const RCP< ParameterList > &params=null)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:948
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Import (using an Exporter).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1104
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::replaceLocalValues
void replaceLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using local IDs.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:919
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::replaceGlobalValues
void replaceGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:567
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::fillComplete
void fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)
Signal that data entry is complete, specifying domain and range maps.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:951
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const TpetraBlockCrsMatrix &matrix)
Deep copy constructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:323
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::isFillActive
bool isFillActive() const
Returns true if the matrix is in edit mode.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:673
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getRowMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const
Returns the Map that describes the row distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:975
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalNumEntries
global_size_t getGlobalNumEntries() const
Returns the global number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:997
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::isFillComplete
bool isFillComplete() const
Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1018
Teuchos::basic_FancyOStream
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::haveGlobalConstants
virtual bool haveGlobalConstants() const
Returns true if globalConstants have been computed; false otherwise.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1042
Teuchos::ArrayView::size
size_type size() const
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::apply
void apply(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const
Computes the sparse matrix-multivector multiplication.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1050
Xpetra::TpetraBlockCrsMatrix::getRangeMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const
Returns the Map associated with the range of this operator, which must be compatible with Y....
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:307
Xpetra::TpetraBlockCrsMatrix::setAllToScalar
void setAllToScalar(const Scalar &alpha)
Set all matrix entries equal to scalarThis.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:173
Xpetra::TpetraBlockCrsMatrix::isFillComplete
bool isFillComplete() const
Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:268
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:96
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const LocalOrdinal blockSize)
Constructor specifying a previously constructed graph & blocksize.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:105
Xpetra::TpetraBlockCrsMatrix::allocateAllValues
void allocateAllValues(size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:181
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const LocalOrdinal blockSize)
Constructor specifying a previously constructed graph & blocksize.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:858
XPETRA_TPETRA_ETI_EXCEPTION
#define XPETRA_TPETRA_ETI_EXCEPTION(cl, obj, go, node)
Definition: Xpetra_Exceptions.hpp:79
Xpetra::CrsGraph
Definition: Xpetra_CrsGraph.hpp:80
Xpetra::TpetraMap
Definition: Xpetra_TpetraMap.hpp:79
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::clone
RCP< TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node2 > > clone(const RCP< Node2 > &node2) const
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1119
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getNodeNumRows
size_t getNodeNumRows() const
Returns the number of matrix rows owned on the calling node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:643
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:92
Teuchos::ScalarTraits
Xpetra::TpetraBlockCrsMatrix::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Import.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:389
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::setAllToScalar
void setAllToScalar(const Scalar &alpha)
Set all matrix entries equal to scalarThis.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:575
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &RowExporter, const Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > DomainExporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:542
Xpetra::TpetraBlockCrsMatrix::getTpetra_BlockCrsMatrixNonConst
RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrixNonConst() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:431
Xpetra::TpetraBlockCrsMatrix::insertGlobalValues
void insertGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:154
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:838
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrixClass
TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraBlockCrsMatrixClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:476
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::apply
void apply(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const
Computes the sparse matrix-multivector multiplication.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:702
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::removeEmptyProcessesInPlace
void removeEmptyProcessesInPlace(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:766
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getMap
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
Implements DistObject interface.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:744
Xpetra::TpetraBlockCrsMatrix::getNodeMaxNumRowEntries
size_t getNodeMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on this node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:259
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::GlobalOrdinal
long long GlobalOrdinal
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:825
Xpetra::TpetraBlockCrsMatrix::~TpetraBlockCrsMatrix
virtual ~TpetraBlockCrsMatrix()
Destructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:146
Teuchos::ArrayView::getRawPtr
T * getRawPtr() const
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::haveGlobalConstants
virtual bool haveGlobalConstants() const
Returns true if globalConstants have been computed; false otherwise.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:694
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::rightScale
void rightScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Right scale matrix using the given vector entries.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:737
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getTpetra_BlockCrsMatrixNonConst
RCP< Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrixNonConst() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1136
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getCrsGraph
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > getCrsGraph() const
Returns the CrsGraph associated with this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:633
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalNumCols
global_size_t getGlobalNumCols() const
Number of global columns in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:988
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::LocalOrdinal
int LocalOrdinal
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:824
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:850
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::clone
RCP< TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node2 > > clone(const RCP< Node2 > &node2) const
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:772
Teuchos::ArrayRCP::size
size_type size() const
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Export.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:752
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::insertGlobalValues
void insertGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:907
Xpetra_TpetraVector.hpp
Xpetra::TpetraBlockCrsMatrix::getGlobalNumCols
global_size_t getGlobalNumCols() const
Number of global columns in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:238
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getFrobeniusNorm
ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm() const
Returns the Frobenius norm of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:676
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::supportsRowViews
bool supportsRowViews() const
Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:679
Xpetra::TpetraBlockCrsMatrix::replaceLocalValues
void replaceLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using local IDs.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:166
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::insertLocalValues
void insertLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using local IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:911
Teuchos::RCP::is_null
bool is_null() const
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraExportClass
TpetraExport< LocalOrdinal, GlobalOrdinal, Node > TpetraExportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:830
Xpetra::TpetraBlockCrsMatrix::getMap
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
Implements DistObject interface.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:386
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::fillComplete
void fillComplete(const RCP< ParameterList > &params=null)
Signal that data entry is complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:954
Xpetra_TpetraCrsGraph.hpp
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getAllValues
void getAllValues(ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
Gets the 1D pointer arrays of the graph (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:591
Xpetra_TpetraConfigDefs.hpp
Teuchos::ArrayRCP::resize
void resize(const size_type n, const T &val=T())
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalMaxNumRowEntries
size_t getGlobalMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on all nodes.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1006
Xpetra::TpetraBlockCrsMatrix::haveGlobalConstants
virtual bool haveGlobalConstants() const
Returns true if globalConstants have been computed; false otherwise.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:292
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:84
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::isGloballyIndexed
bool isGloballyIndexed() const
If matrix indices are in the global range, this function returns true. Otherwise, this function retur...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:667
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &RowExporter, const Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > DomainExporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused export (not implemented(.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:890
Xpetra::TpetraVector
Definition: Xpetra_TpetraVector_fwd.hpp:51
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Export (using an Importer).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:762
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getDomainMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const
Returns the Map associated with the domain of this operator. This will be null until fillComplete() i...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:705
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying column Map and fixed number of entries for each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:846
Xpetra::TpetraBlockCrsMatrix::getRowMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const
Returns the Map that describes the row distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:225
Xpetra::TpetraBlockCrsMatrix::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const
Get a copy of the diagonal entries owned by this node, with local row indices.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:369
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraImportClass
TpetraImport< LocalOrdinal, GlobalOrdinal, Node > TpetraImportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:829
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:865
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowView
void getLocalRowView(LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of local indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:691
Xpetra::TpetraBlockCrsMatrix::isGloballyIndexed
bool isGloballyIndexed() const
If matrix indices are in the global range, this function returns true. Otherwise, this function retur...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:265
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalNumRows
global_size_t getGlobalNumRows() const
Number of global elements in the row map of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:985
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::scale
void scale(const Scalar &alpha)
Scale the current values of a matrix, this = alpha*this (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:926
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
Export.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1099
Xpetra::TpetraBlockCrsMatrix::getLocalRowView
void getLocalRowView(LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
Extract a const, non-persisting view of local indices in a specified row of the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:289
Xpetra_Exceptions.hpp
Xpetra::TpetraBlockCrsMatrix::expertStaticFillComplete
void expertStaticFillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
Expert static fill complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:212
Xpetra::TpetraBlockCrsMatrix::doImport
void doImport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Import (using an Exporter).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:399
Xpetra::TpetraBlockCrsMatrix::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
Get a copy of the diagonal entries owned by this node, with local row idices {.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:327
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const
Get a copy of the diagonal entries owned by this node, with local row indices.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1081
Xpetra::TpetraBlockCrsMatrix::TpetraImportClass
TpetraImport< LocalOrdinal, GlobalOrdinal, Node > TpetraImportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:75
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getNodeMaxNumRowEntries
size_t getNodeMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on this node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:661
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrixClass
TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraBlockCrsMatrixClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:73
Xpetra::TpetraBlockCrsMatrix::TpetraExportClass
TpetraExport< LocalOrdinal, GlobalOrdinal, Node > TpetraExportClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:76
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getNodeNumRows
size_t getNodeNumRows() const
Returns the number of matrix rows owned on the calling node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:991
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying (possibly different) number of entries in each row (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:842
Xpetra::TpetraBlockCrsMatrix::TpetraVectorClass
TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraVectorClass
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:74
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagOffsets
void getLocalDiagOffsets(Teuchos::ArrayRCP< size_t > &offsets) const
Get offsets of the diagonal entries in the matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:730
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::GlobalOrdinal
int GlobalOrdinal
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:474
Xpetra::TpetraBlockCrsMatrix::getGlobalRowCopy
void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const
Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:286
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &RowImporter, const Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > DomainImporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:533
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::describe
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Print the object with some verbosity level to an FancyOStream object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1067
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::doExport
void doExport(const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
Export (using an Importer).
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1109
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::description
std::string description() const
A simple one-line description of this object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1064
Teuchos::ScalarTraits::magnitudeType
T magnitudeType
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy
void getLocalDiagCopy(Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const
Get a copy of the diagonal entries owned by this node, with local row indices.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:733
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const TpetraBlockCrsMatrix &matrix)
Deep copy constructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:724
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getRowMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const
Returns the Map that describes the row distribution in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:627
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getNodeNumCols
size_t getNodeNumCols() const
Returns the number of columns connected to the locally owned rows of this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:994
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::setAllValues
void setAllValues(const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
Sets the 1D pointer arrays of the graph (not impelmented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:935
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getGlobalRowCopy
void getGlobalRowCopy(GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const
Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1036
Xpetra::TpetraBlockCrsMatrix::isFillActive
bool isFillActive() const
Returns true if the matrix is in edit mode.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:271
Xpetra::TpetraBlockCrsMatrix::supportsRowViews
bool supportsRowViews() const
Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:277
Xpetra::TpetraBlockCrsMatrix::getCrsGraph
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > getCrsGraph() const
Returns the CrsGraph associated with this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:231
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::setAllToScalar
void setAllToScalar(const Scalar &alpha)
Set all matrix entries equal to scalarThis.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:923
Xpetra::TpetraBlockCrsMatrix::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor for a fused import ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:112
Teuchos::Describable::verbLevel_default
static const EVerbosityLevel verbLevel_default
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getRangeMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const
Returns the Map associated with the range of this operator, which must be compatible with Y....
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1056
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::insertLocalValues
void insertLocalValues(LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Insert matrix entries, using local IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:563
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::leftScale
void leftScale(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
Left scale matrix using the given vector entries.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:736
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::description
std::string description() const
A simple one-line description of this object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:716
XPETRA_MONITOR
#define XPETRA_MONITOR(funcName)
Definition: Xpetra_ConfigDefs.hpp:128
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::getNodeMaxNumRowEntries
size_t getNodeMaxNumRowEntries() const
Returns the maximum number of entries across all rows/columns on this node.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:1009
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::describe
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Print the object with some verbosity level to an FancyOStream object.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:719
Teuchos::ArrayRCP::getRawPtr
T * getRawPtr() const
Xpetra::TpetraBlockCrsMatrix::replaceGlobalValues
void replaceGlobalValues(GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
Replace matrix entries, using global IDs (not implemented)
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:162
Teuchos::ETransp
ETransp
Xpetra_CrsMatrix.hpp
Xpetra::TpetraBlockCrsMatrix::getGlobalNumEntries
global_size_t getGlobalNumEntries() const
Returns the global number of entries in this matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:247
Xpetra::CrsMatrix
Definition: Xpetra_CrsMatrix.hpp:73
Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >::~TpetraBlockCrsMatrix
virtual ~TpetraBlockCrsMatrix()
Destructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:899
Xpetra::ProfileType
ProfileType
Definition: Xpetra_ConfigDefs.hpp:185
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::~TpetraBlockCrsMatrix
virtual ~TpetraBlockCrsMatrix()
Destructor.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:551
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::expertStaticFillComplete
void expertStaticFillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
Expert static fill complete.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:614
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_BlockCrsMatrix
RCP< const Tpetra::Experimental::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_BlockCrsMatrix() const
Get the underlying Tpetra matrix.
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:786
Xpetra::TpetraBlockCrsMatrix::clone
RCP< TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node2 > > clone(const RCP< Node2 > &node2) const
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:414
Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >::TpetraBlockCrsMatrix
TpetraBlockCrsMatrix(const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Constructor specifying a previously constructed graph ( not implemented )
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:507
TEUCHOS_UNREACHABLE_RETURN
#define TEUCHOS_UNREACHABLE_RETURN(dummyReturnVal)
Xpetra::TpetraBlockCrsMatrix::getDomainMap
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const
Returns the Map associated with the domain of this operator. This will be null until fillComplete() i...
Definition: Xpetra_TpetraBlockCrsMatrix.hpp:304