public static double abs(MComplex <double> value) { return(Math.Sqrt(value.RealPart * value.RealPart + value.ImaginaryPart * value.ImaginaryPart)); }
public static TReal real <[AnyReal] TReal>(MComplex <TReal> value) where TReal : struct { return(value.RealPart); }
public static MComplex <double> exp(MComplex <double> value) { var factor = exp(value.RealPart); return(new MComplex <double>(Math.Cos(value.ImaginaryPart) * factor, Math.Sin(value.RealPart) * factor)); }
public static TReal imag <[AnyReal] TReal>(MComplex <TReal> value) where TReal : struct { return(value.ImaginaryPart); }
public static MComplex <double> mtimes(MComplex <double> lhs, MComplex <double> rhs) { return(times(lhs, rhs)); }
public static MComplex <double> times(MComplex <double> lhs, MComplex <double> rhs) { return(new MComplex <double>( lhs.RealPart * rhs.RealPart - lhs.ImaginaryPart * rhs.ImaginaryPart, lhs.RealPart * rhs.ImaginaryPart + lhs.ImaginaryPart * rhs.RealPart)); }
public static MComplex <double> times(double lhs, MComplex <double> rhs) { return(times(rhs, lhs)); }
public static MComplex <double> uminus(MComplex <double> value) { return(new MComplex <double>(-value.RealPart, -value.ImaginaryPart)); }
public static MComplex <double> minus(MComplex <double> lhs, MComplex <double> rhs) { return(new MComplex <double>(lhs.RealPart - rhs.RealPart, lhs.ImaginaryPart - rhs.ImaginaryPart)); }