public ComplexNum Div(ComplexNum _X) { if (_X.getReal() + _X.getUnreal() != 0) { var A = Matrix <double> .Build.DenseOfArray(new double[, ] { { _X.getReal(), -_X.getUnreal() }, { _X.getUnreal(), _X.getReal() } }); var b = Vector <double> .Build.Dense(new double[] { Real, Unreal }); var x = A.Solve(b); return(new ComplexNum(x.At(0), x.At(1))); } else { return(null); } }
public ComplexNum Tan(ComplexNum S, ComplexNum C) { return(S.Div(C.getReal(), C.getUnreal())); }
public ComplexNum Mul(ComplexNum _X) { return(new ComplexNum((Real * _X.getReal()) - (Unreal * _X.getUnreal()), (Unreal * _X.getReal()) + (Real * _X.getUnreal()))); }