Program listing for file numerics/src/tools/JordanAlgebra.h

Program listing for file numerics/src/tools/JordanAlgebra.h#

  1#ifndef JORDAN_ALGEBRA_H
  2#define JORDAN_ALGEBRA_H
  3
  4
  5
  6#include "NumericsMatrix.h"
  7
  8typedef long double float_type;
  9
 10
 11
 12NumericsMatrix* Arrow_repr(const double* const vec, const unsigned int vecSize,
 13                           const size_t varsCount);
 14
 15
 16NumericsMatrix* Reflect_mat(const unsigned int size, NM_types type);
 17
 18
 19NumericsMatrix* Quad_repr(const double* const vec, const unsigned int vecSize,
 20                          const size_t varsCount);
 21
 22void NesterovToddVector(const double* const vec1, const double* const vec2,
 23                        const unsigned int vecSize, const size_t varsCount, double* out);
 24
 25
 26double* JA_iden(const unsigned int vecSize, const size_t varsCount);
 27
 28
 29void JA_prod(const double* const vec1, const double* const vec2, const unsigned int vecSize,
 30             const int varsCount, double* out);
 31
 32
 33void JA_eigenvals(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 34                  double* out);
 35
 36
 37void JA_eigenvecs(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 38                  double** out);
 39
 40
 41void JA_sqrt(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 42             double* out);
 43
 44
 45void JA_sqrt_inv(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 46                 double* out);
 47
 48
 49void JA_power2(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 50               double* out);
 51
 52
 53void JA_inv(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 54            double* out);
 55
 56
 57void JA_det(const double* const vec, const unsigned int vecSize, const size_t varsCount,
 58            double* out);
 59
 60
 61float_type dnrm2l(const unsigned int n, const double* x);
 62
 63
 64float_type dnrm2sqrl(const unsigned int n, const double* x);
 65
 66
 67void Qx05y(const double* const x, const double* const y, const unsigned int vecSize,
 68           const size_t varsCount, double* out);
 69
 70
 71void Qx50y(const double* const x, const double* const y, const unsigned int vecSize,
 72           const size_t varsCount, double* out);
 73
 74
 75void Jinv(const double* const x, const unsigned int vecSize, const size_t varsCount,
 76          double* out);
 77
 78
 79void Jsqrt(const double* const x, const unsigned int vecSize, const size_t varsCount,
 80           double* out);
 81
 82
 83void Jsqrtinv(const double* const x, const unsigned int vecSize, const size_t varsCount,
 84              double* out);
 85
 86
 87void Nesterov_Todd_vector(short T, const double* const x, const double* const y,
 88                          const unsigned int vecSize, const size_t varsCount, double* p);
 89
 90
 91void Nesterov_Todd_vector_b(const double* const x, const double* const y,
 92                            const unsigned int vecSize, const size_t varsCount, double* p);
 93
 94
 95void Qxy(const double* const x, const double* const y, const unsigned int vecSize,
 96         const size_t varsCount, double* z);
 97
 98
 99void QNTpz(const double* const x, const double* const y, const double* const z,
100           const unsigned int vecSize, const size_t varsCount, double* out);
101
102
103void QNTpinvz(const double* const x, const double* const y, const double* const z,
104              const unsigned int vecSize, const size_t varsCount, double* out);
105
106
107void QNTpinv2z(const double* const x, const double* const y, const double* const z,
108               const unsigned int vecSize, const size_t varsCount, double* out);
109
110
111void Jxinvprody(const double* const x, const double* const y, const unsigned int vecSize,
112                const size_t varsCount, double* out);
113
114
115NumericsMatrix* QRmat(const double* const vec, const unsigned int vecSize,
116                      const size_t varsCount);
117
118
119float_type ld_gammal(const double* const x, const size_t dimension);
120
121float_type dnrm2l(const unsigned int n, const double* x);
122
123
124NumericsMatrix* NTmat(const double* const x, const double* const z, const unsigned int vecSize,
125                      const size_t varsCount);
126
127
128NumericsMatrix* NTmatinv(const double* const x, const double* const z,
129                         const unsigned int vecSize, const size_t varsCount);
130
131
132NumericsMatrix* NTmatsqr(const double* const x, const double* const z,
133                         const unsigned int vecSize, const size_t varsCount);
134
135#endif