示例#1
0
        public static ComplexCar Sqrt(ComplexCar complexCar)
        {
            ComplexPol complexPol = Car2Pol(complexCar);
            ComplexCar complex;

            complex.real = Math.Sqrt(complexPol.mod) * Math.Cos(complexPol.ang / 2);
            complex.imag = Math.Sqrt(complexPol.mod) * Math.Sin(complexPol.ang / 2);

            return(complex);
        }
示例#2
0
 public static void Print(ComplexCar complexCar)
 {
     if (complexCar.imag >= 0)
     {
         Console.Write(complexCar.real + " +" + complexCar.imag + " i");
     }
     else
     {
         Console.Write(complexCar.real + " " + complexCar.imag + " i");
     }
 }
示例#3
0
        public static ComplexCar[] Eigenvalues(JonesMatCar jonesMatCar)
        {
            ComplexCar[] complexCar = new ComplexCar[2];

            ComplexCar a = (jonesMatCar.J11 + jonesMatCar.J22);
            ComplexCar b = Sqrt((a * a) + (4 * ((jonesMatCar.J12 * jonesMatCar.J21) - (jonesMatCar.J11 * jonesMatCar.J22))));

            complexCar[0] = (a + b) / 2;
            complexCar[1] = (a - b) / 2;

            return(complexCar);
        }
示例#4
0
        public static JonesMatCar Inverse(JonesMatCar jonesMatCar)
        {
            JonesMatCar JInv;
            ComplexCar  JDet = Det(jonesMatCar);

            JInv.J11 = jonesMatCar.J22 / JDet;
            JInv.J12 = (-1 * jonesMatCar.J12) / JDet;
            JInv.J21 = (-1 * jonesMatCar.J21) / JDet;
            JInv.J22 = jonesMatCar.J11 / JDet;

            return(JInv);
        }
示例#5
0
        public static ComplexPol Car2Pol(ComplexCar complexCar)
        {
            ComplexPol complexPol;

            complexPol.mod = Math.Sqrt(
                (complexCar.real * complexCar.real) +
                (complexCar.imag * complexCar.imag)
                );

            complexPol.ang = Math.Atan2(complexCar.imag, complexCar.real);

            return(complexPol);
        }
示例#6
0
 public static double Abs(ComplexCar complexCar)
 {
     return(Math.Sqrt((complexCar.real * complexCar.real) + (complexCar.imag * complexCar.imag)));
 }