#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) |
| |