SCIRun
5.0
|
Computes several unary operations on general matrices. More...
#include <EvaluateLinearAlgebraUnaryAlgo.h>
Public Types | |
enum | Operator { NEGATE, TRANSPOSE, SCALAR_MULTIPLY } |
typedef SCIRun::Core::Datatypes::DenseMatrixConstHandle | Inputs |
typedef boost::tuple< Operator, boost::optional< double > > | Parameters |
typedef SCIRun::Core::Datatypes::DenseMatrixHandle | Outputs |
![]() | |
typedef IdType | id_type |
![]() | |
typedef boost::function< void(double)> | UpdaterFunc |
Public Member Functions | |
EvaluateLinearAlgebraUnaryAlgorithm () | |
Outputs | run (const Inputs &matrix, const Parameters ¶ms) const |
AlgorithmOutput | run_generic (const AlgorithmInput &input) const |
![]() | |
virtual | ~AlgorithmBase () |
![]() | |
AlgorithmParameterList () | |
bool | set (const AlgorithmParameterName &key, const AlgorithmParameter::Value &value) |
const AlgorithmParameter & | get (const AlgorithmParameterName &key) const |
bool | set_option (const AlgorithmParameterName &key, const std::string &value) |
bool | get_option (const AlgorithmParameterName &key, std::string &value) const |
std::string | get_option (const AlgorithmParameterName &key) const |
bool | check_option (const AlgorithmParameterName &key, const std::string &value) const |
virtual bool | keyNotFoundPolicy (const AlgorithmParameterName &key) |
![]() | |
virtual | ~AlgorithmInterface () |
![]() | |
HasId () | |
IdType | id () const |
![]() | |
AlgorithmLogger () | |
~AlgorithmLogger () | |
void | setLogger (Core::Logging::LoggerHandle logger) |
virtual void | error (const std::string &error) const |
functions for the algorithm, so it can forward errors if needed More... | |
virtual void | warning (const std::string &warning) const |
virtual void | remark (const std::string &remark) const |
virtual void | status (const std::string &status) const |
![]() | |
virtual | ~LegacyLoggerInterface () |
![]() | |
AlgorithmStatusReporter () | |
~AlgorithmStatusReporter () | |
virtual void | report_start (const std::string &tag) const |
virtual void | report_end () const |
virtual void | update_progress (double percent) const |
void | setUpdaterFunc (UpdaterFunc func) |
UpdaterFunc | getUpdaterFunc () const |
![]() | |
virtual | ~ProgressReporter () |
template<typename T1 , typename T2 > | |
void | update_progress_max (T1 current, T2 max) const |
Additional Inherited Members | |
![]() | |
void | dumpAlgoState () const |
void | addParameter (const AlgorithmParameterName &key, const AlgorithmParameter::Value &defaultValue) |
void | add_option (const AlgorithmParameterName &key, const std::string &defval, const std::string &options) |
Computes several unary operations on general matrices.
_MatrixType | the type of the matrix of which we are computing the eigendecomposition; this is expected to be an instantiation of the Matrix class template. Currently, only real matrices are supported. |
The eigenvalues and eigenvectors of a matrix are scalars
and vectors
such that
. If
is a diagonal matrix with the eigenvalues on the diagonal, and
is a matrix with the eigenvectors as its columns, then
. The matrix
is almost always invertible, in which case we have
. This is called the eigendecomposition.
Call the function compute() to compute the eigenvalues and eigenvectors of a given matrix. Alternatively, you can use the EigenSolver(const MatrixType&, bool) constructor which computes the eigenvalues and eigenvectors at construction time. Once the eigenvalue and eigenvectors are computed, they can be retrieved with the eigenvalues() and eigenvectors() functions. The pseudoEigenvalueMatrix() and pseudoEigenvectors() methods allow the construction of the pseudo-eigendecomposition.
The documentation for EigenSolver(const MatrixType&, bool) contains an example of the typical use of this class.
typedef boost::tuple<Operator, boost::optional<double> > Parameters |
enum Operator |
EvaluateLinearAlgebraUnaryAlgorithm::Outputs run | ( | const Inputs & | matrix, |
const Parameters & | params | ||
) | const |
|
virtual |
Implements AlgorithmInterface.