UtilΒΆ

group Util

This group includes common utilites in QuTree.

template<class Q, class T, typename U>
class BS_integrator
#include <BS_integrator.h>

This is a Bulirsch-Stoer Integrator.

The design of this class is loosely related to the implementation of a numerical recipes book.

class SimultaneousDiagonalization
#include <SimultaneousDiagonalization.h>

This class performs a simulatneous diagonalization.

Attempts to diagonalize a set of, potentially not commuting, matrices.

namespace JacobiRotationFramework

This namespace contains functions for Jacobi rotations algorithms.

namespace WeightedSimultaneousDiagonalization

Perform matrix-weighted Joint Diagonalization.

Functions

void calculate(vector<Matrixcd> &Xs, vector<Matrixcd> XXs, Matrixcd &W, Matrixcd &trafo, double eps)
double measureWeightedDiagonality(const vector<Matrixcd> &A, const Matrixcd &W)
void weightedJacobiRotations(vector<Matrixcd> &Xs, vector<Matrixcd> &XXs, Matrixcd &W, Matrixcd &trafo)
int calculateWeightedAngles(complex<double> &c, complex<double> &s, size_t i, size_t j, const vector<Matrixcd> &Xs, const vector<Matrixcd> &XXs, const Matrixcd &W)
double weightedJacobiLoc(const vector<Matrixcd> &Xs, const vector<Matrixcd> &XXs, const Matrixcd &W, size_t p, size_t q, complex<double> c, complex<double> s)
void weightedJacobiDerivatives(Vectord &grad, Matrixd &preHessian, complex<double> s_in, const vector<Matrixcd> &Xs, const vector<Matrixcd> &XXs, const Matrixcd &W, size_t p, size_t q, double delta)
double measureWeightedOffDiagonality(const vector<Matrixcd> &Xws, const vector<Matrixcd> &Xs, const Matrixcd &W, const Matrixcd &trafo)
vector<Vectord> GetDiagonals(const vector<Matrixcd> &Xws, const Matrixcd &W)
pair<Matrixcd, vector<Vectord>> calculate(vector<Matrixcd> &Xs, Matrixcd &W, double eps)