コード例 #1
0
ファイル: oldmain.cs プロジェクト: ryejakob/prog
    static int Main()
    {
        matrix A = new matrix(3, 3); //matrix taken from wiki

        A[0, 0] = 6; A[0, 1] = 5; A[0, 2] = 0;
        A[1, 0] = 5; A[1, 1] = 1; A[1, 2] = 4;
        A[2, 0] = 0; A[2, 1] = 4; A[2, 2] = 3;

        gi_rot a  = new gi_rot(A);
        matrix a1 = a.A;

        WriteLine("Matrix generated by function:");
        for (int n = 0; n < A.size1; n++)
        {
            for (int n1 = 0; n1 < A.size2; n1++)
            {
                Write($"{a1[n,n1]}	");
            }    //end for
            Write("\n");
        }        //end for

        vector b = new vector(A.size1);

        b[0] = 1; b[1] = 3; b[2] = -1;

        vector x  = a.solve(b);
        vector ax = A * x;

        WriteLine($"Test Ax=b:");
        for (int n1 = 0; n1 < b.size; n1++)
        {
            WriteLine($"Ax=	{ax[n1]},	b=	{b[n1]}");
        }



        return(0);
    }             //end main}
コード例 #2
0
    static int Main()
    {
        //generating a random matrix
        matrix A = randmatrix(4, 4);

        //givens:
        gi_rot a = new gi_rot(A);
        //grams-schmitt
        gram_s gs = new gram_s(A);

        //random vector b:
        vector b = randvector(4);

        //solve Ax=b using givens:
        vector x  = a.solve(b);
        vector ax = A * x;

        WriteLine("Part C");
        WriteLine($"Givens rotation");
        WriteLine($"Random generated matrix A:");
        for (int i = 0; i < A.size1; i++)
        {
            Write("\n");
            for (int j = 0; j < A.size2; j++)
            {
                Write($"{A[i,j]}	");
            }
        }
        Write("\n \n");
        WriteLine("The calculated matrix G, with stored rotation angles:");
        for (int i = 0; i < a.A.size1; i++)
        {
            Write("\n");
            for (int j = 0; j < a.A.size2; j++)
            {
                Write($"{a.A[i,j]}	");
            }
        }
        Write("\n \n");
        WriteLine("R-matrix from Gram-Schmitt to comparison:");
        for (int i = 0; i < gs.R.size1; i++)
        {
            Write("\n");
            for (int j = 0; j < gs.R.size2; j++)
            {
                Write($"{gs.R[i,j]}	");
            }
        }
        Write("\n \n");
        WriteLine("Note: the similarities between the upper triangle.");
        WriteLine("");
        WriteLine("Random vector b:");
        for (int i = 0; i < b.size; i++)
        {
            WriteLine($"{b[i]}");
        }        //end for
        WriteLine("");
        WriteLine("Givens rotations was used to solve Ax=b, yielding x:");
        for (int i = 0; i < x.size; i++)
        {
            WriteLine($"{x[i]}");
        }        //end for
        WriteLine("Ax gives:");
        for (int i = 0; i < ax.size; i++)
        {
            WriteLine($"{ax[i]}");
        }        //end for
        WriteLine("Note: the same as b.");
        WriteLine("");



        return(0);
    }