|
Anasazi Version of the Day
|
Reduce-and-Broadcast (RB) version of DistTsqr. More...
#include <Tsqr_DistTsqrRB.hpp>
Public Member Functions | |
| DistTsqrRB (const Teuchos::RCP< MessengerBase< scalar_type > > &messenger) | |
| void | getStats (std::vector< TimeStats > &stats) const |
| void | getStatsLabels (std::vector< std::string > &labels) const |
| bool | QR_produces_R_factor_with_nonnegative_diagonal () const |
| void | factorExplicit (matview_type R_mine, matview_type Q_mine) |
| Internode TSQR with explicit Q factor. | |
Reduce-and-Broadcast (RB) version of DistTsqr.
Reduce-and-Broadcast (RB) version of DistTsqr, which factors a vertical stack of n by n R factors, one per MPI process. Only the final R factor is broadcast; the implicit Q factor data stay on the MPI process where they are computed.
Definition at line 29 of file Tsqr_DistTsqrRB.hpp.
| TSQR::DistTsqrRB< LocalOrdinal, Scalar >::DistTsqrRB | ( | const Teuchos::RCP< MessengerBase< scalar_type > > & | messenger | ) | [inline] |
Constructor
| messenger | [in/out] Smart pointer to a wrapper handling communication between MPI process(es). |
Definition at line 43 of file Tsqr_DistTsqrRB.hpp.
| void TSQR::DistTsqrRB< LocalOrdinal, Scalar >::getStats | ( | std::vector< TimeStats > & | stats | ) | const [inline] |
Fill in the timings vector with cumulative timings from factorExplicit(). The vector gets resized to fit all the timings.
Definition at line 56 of file Tsqr_DistTsqrRB.hpp.
| void TSQR::DistTsqrRB< LocalOrdinal, Scalar >::getStatsLabels | ( | std::vector< std::string > & | labels | ) | const [inline] |
Fill in the labels vector with the string labels for the timings from factorExplicit(). The vector gets resized to fit all the labels.
Definition at line 72 of file Tsqr_DistTsqrRB.hpp.
| bool TSQR::DistTsqrRB< LocalOrdinal, Scalar >::QR_produces_R_factor_with_nonnegative_diagonal | ( | ) | const [inline] |
Whether or not all diagonal entries of the R factor computed by the QR factorization are guaranteed to be nonnegative.
Definition at line 86 of file Tsqr_DistTsqrRB.hpp.
| void TSQR::DistTsqrRB< LocalOrdinal, Scalar >::factorExplicit | ( | matview_type | R_mine, |
| matview_type | Q_mine | ||
| ) | [inline] |
Internode TSQR with explicit Q factor.
| R_mine | [in/out] View of a matrix with at least as many rows as columns. On input: upper triangular matrix (R factor from intranode TSQR); different on each process.. On output: R factor from intranode QR factorization; bitwise identical on all processes, since it is effectively broadcast from Proc 0. |
| Q_mine | [out] View of a matrix with the same number of rows as R_mine has columns. On output: this process' component of the internode Q factor. (Write into the top block of this process' entire Q factor, fill the rest of Q with zeros, and call intranode TSQR's apply() on it, to get the final explicit Q factor.) |
Definition at line 107 of file Tsqr_DistTsqrRB.hpp.
1.7.4