sisi4s
Loading...
Searching...
No Matches
MathFunctions.hpp File Reference
#include <math/Complex.hpp>
#include <cmath>
#include <string>
#include <util/Tensor.hpp>
#include <util/Log.hpp>
Include dependency graph for MathFunctions.hpp:

Go to the source code of this file.

Namespaces

namespace  sisi4s
 

Functions

template<typename F = double>
constexpr F sisi4s::Pi ()
 
template<typename F = double>
constexpr F sisi4s::Tau ()
 
template<typename F = double>
sisi4s::sqrt (F const x)
 
template<typename F = double>
sisi4s::abs (F const x)
 
template<typename F >
sisi4s::conj (F const x)
 
template<>
double sisi4s::conj (double const x)
 
template<typename F = double>
sisi4s::dot (F const x, F const y)
 
template<typename F = double>
sisi4s::realDot (F const x, F const y)
 Calculates only the real part of x*conj(y).
 
template<typename F = double>
sisi4s::divide (F const x, F const y)
 
template<typename F = double>
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)