#include <GenericHouseholder.h>
Public Member Functions | |
GenericHouseholder (bool normalise=false) | |
std::vector< float > | iterate (const std::vector< std::vector< float > > &eventMatrix, const std::vector< float > &energyVector, const int nIter) |
run the Householder Algorithm several times (nIter). Returns the final vector of calibration coefficients. More... | |
std::vector< float > | iterate (const std::vector< std::vector< float > > &eventMatrix, const std::vector< float > &energyVector) |
run the Householder Algorithm. Returns the vector of calibration coefficients. More... | |
~GenericHouseholder () | |
Destructor. More... | |
Private Member Functions | |
bool | decompose (const int m, const int n, std::vector< std::vector< float > > &qr, std::vector< float > &alpha, std::vector< int > &pivot) |
void | solve (int m, int n, const std::vector< std::vector< float > > &qr, const std::vector< float > &alpha, const std::vector< int > &pivot, std::vector< float > &r, std::vector< float > &y) |
Private Attributes | |
bool | normaliseFlag |
Generic implementation of the QR decomposition of a matrix using Householder transformation
Definition at line 13 of file GenericHouseholder.h.
GenericHouseholder::GenericHouseholder | ( | bool | normalise = false | ) |
Default constructor CAVEAT: use normalise = true only if you know what you're doing!
Definition at line 12 of file GenericHouseholder.cc.
GenericHouseholder::~GenericHouseholder | ( | ) |
|
private |
make decomposition input: m=number of events, n=number of channels, qr=event matrix output: qr = new event matrix, alpha, pivot returns a boolean value, true if decomposition worked, false if it didn't
Definition at line 205 of file GenericHouseholder.cc.
References beta, gather_cfg::cout, i, j, roll_playback::k, m, n, mathSSE::sqrt(), and detailsBasic3DVector::y.
Referenced by iterate().
std::vector< float > GenericHouseholder::iterate | ( | const std::vector< std::vector< float > > & | eventMatrix, |
const std::vector< float > & | energyVector, | ||
const int | nIter | ||
) |
run the Householder Algorithm several times (nIter). Returns the final vector of calibration coefficients.
Definition at line 23 of file GenericHouseholder.cc.
References i, and getDQMSummary::iter.
std::vector< float > GenericHouseholder::iterate | ( | const std::vector< std::vector< float > > & | eventMatrix, |
const std::vector< float > & | energyVector | ||
) |
run the Householder Algorithm. Returns the vector of calibration coefficients.
Definition at line 57 of file GenericHouseholder.cc.
References funct::A, alpha, gather_cfg::cout, decompose(), alignCSCRings::e, i, j, m, n, normaliseFlag, alignCSCRings::r, and solve().
|
private |
Apply transformations to rhs output: r = ?, y = solution
Definition at line 299 of file GenericHouseholder.cc.
References gather_cfg::cout, i, j, m, n, and detailsBasic3DVector::z.
Referenced by iterate().
|
private |
Definition at line 40 of file GenericHouseholder.h.
Referenced by iterate().