#include <math/Complex.hpp>
#include <cmath>
#include <string>
#include <util/Tensor.hpp>
#include <util/Log.hpp>
Go to the source code of this file.
|
template<typename F = double> |
constexpr F | sisi4s::Pi () |
|
template<typename F = double> |
constexpr F | sisi4s::Tau () |
|
template<typename F = double> |
F | sisi4s::sqrt (F const x) |
|
template<typename F = double> |
F | sisi4s::abs (F const x) |
|
template<typename F > |
F | sisi4s::conj (F const x) |
|
template<> |
double | sisi4s::conj (double const x) |
|
template<typename F = double> |
F | sisi4s::dot (F const x, F const y) |
|
template<typename F = double> |
F | sisi4s::realDot (F const x, F const y) |
| Calculates only the real part of x*conj(y).
|
|
template<typename F = double> |
F | sisi4s::divide (F const x, F const y) |
|
template<typename F = double> |
F | sisi4s::multiply (F const x, F const y) |
|
template<typename F > |
double | sisi4s::frobeniusNorm (Tensor< F > &t) |
|
template<typename F > |
void | sisi4s::symmetrize (std::string indices, std::string permuted, Tensor< F > &t, F prefactor=1) |
| Apply a permutation operator and antisymmetrize accordingly, e.g. antiSymmetrize(X, "abcd", "abdc") is replaced by -1 X["abcd"] = X["abcd"] + sign(abcd -> abdc) X["abdc"].
|
|
template<typename F > |
void | sisi4s::checkAntisymmetry (Tensor< F > &t) |
|