Ejemplo n.º 1
0
        public void Conjugate()
        {
            var c1 = new Complex(3, 6);
            var c2 = new Complex(-3, -1);

            var cc1 = c1.Conjugate();
            var cc2 = c2.Conjugate();

            Assert.AreEqual(3, cc1.Real);
            Assert.AreEqual(-6, cc1.Imaginary);
            Assert.AreEqual(-3, cc2.Real);
            Assert.AreEqual(1, cc2.Imaginary);
        }
Ejemplo n.º 2
0
 public static Complex Conj(Complex z)
 {
     return z.Conjugate();
 }
Ejemplo n.º 3
0
        private void PerformGivensRotation(Matrix Q, Matrix R, int i, int j, ref Complex Gii, ref Complex Gij, ref Complex Gji, ref Complex Gjj)
        {
            // do matrix multiplication by hand for speed
            for (int k = 0; k < R.Columns; k++)
            {
                Complex Rik = R[i, k], Rjk = R[j, k];

                R[i, k] = Gii * Rik + Gij * Rjk;
                R[j, k] = Gji * Rik + Gjj * Rjk;
            }

            Complex GTii = Gii.Conjugate(),
                GTij = Gji.Conjugate(),
                GTji = Gij.Conjugate(),
                GTjj = Gjj.Conjugate();

            for (int k = 0; k < Q.Rows; k++)
            {
                Complex Qki = Q[k, i], Qkj = Q[k, j];

                Q[k, i] = Qki * GTii + Qkj * GTji;
                Q[k, j] = Qki * GTij + Qkj * GTjj;
            }
        }