24template <
typename AReal>
36template <
typename AReal>
47template <
typename AReal>
58template <
typename AReal>
69template <
typename AReal>
74 A(i, j) = 1.0 / A(i, j);
80template <
typename AReal>
91template <
typename AReal>
96 A(i, j) =
sqrt(A(i, j));
102template<
typename AReal>
111 a[index] =
a[index] - alpha *
m[index]/(
sqrt(
v[index]) + eps);
116template<
typename AReal>
124 a[index] = beta *
a[index] + (1.-beta) *
b[index];
128template<
typename AReal>
136 a[index] = beta *
a[index] + (1.-beta) *
b[index] *
b[index];
static void AdamUpdate(TMatrixT< AReal > &A, const TMatrixT< AReal > &M, const TMatrixT< AReal > &V, AReal alpha, AReal eps)
Update functions for ADAM optimizer.
static void AdamUpdateSecondMom(TMatrixT< AReal > &A, const TMatrixT< AReal > &B, AReal beta)
static void AdamUpdateFirstMom(TMatrixT< AReal > &A, const TMatrixT< AReal > &B, AReal beta)
static void ConstAdd(TMatrixT< AReal > &A, AReal beta)
Add the constant beta to all the elements of matrix A and write the result into A.
static void ReciprocalElementWise(TMatrixT< AReal > &A)
Reciprocal each element of the matrix A and write the result into A.
static void SquareElementWise(TMatrixT< AReal > &A)
Square each element of the matrix A and write the result into A.
static void Hadamard(TMatrixT< AReal > &A, const TMatrixT< AReal > &B)
In-place Hadamard (element-wise) product of matrices A and B with the result being written into A.
static void SqrtElementWise(TMatrixT< AReal > &A)
Square root each element of the matrix A and write the result into A.
static void SumColumns(TMatrixT< AReal > &B, const TMatrixT< AReal > &A)
Sum columns of (m x n) matrixx A and write the results into the first m elements in A.
static void ConstMult(TMatrixT< AReal > &A, AReal beta)
Multiply the constant beta to all the elements of matrix A and write the result into A.
Int_t GetNoElements() const
virtual const Element * GetMatrixArray() const
create variable transformations