コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public ComplexNum Res(ComplexNum _X)
 {
     return(new ComplexNum((-_X.Real + Real), (-_X.Unreal + Unreal)));
 }
コード例 #3
0
 public ComplexNum Sum(ComplexNum _X)
 {
     return(new ComplexNum((_X.Real + Real), (_X.Unreal + Unreal)));
 }
コード例 #4
0
 public ComplexNum Cot(ComplexNum T)
 {
     return(T.Pow(-1));
 }
コード例 #5
0
 public ComplexNum Sec(ComplexNum c)
 {
     return(c.Pow(-1));
 }
コード例 #6
0
 public ComplexNum Csc(ComplexNum S)
 {
     return(S.Pow(-1));
 }
コード例 #7
0
 public ComplexNum Tan(ComplexNum S, ComplexNum C)
 {
     return(S.Div(C.getReal(), C.getUnreal()));
 }
コード例 #8
0
 public ComplexNum Mul(ComplexNum _X)
 {
     return(new ComplexNum((Real * _X.getReal()) - (Unreal * _X.getUnreal()), (Unreal * _X.getReal()) + (Real * _X.getUnreal())));
 }