コード例 #1
0
ファイル: Form1.cs プロジェクト: Rotariu-Stefan/Studies
        private void button6_Click(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;

            eps = Math.Pow(10, -Convert.ToInt32(tbeps.Text));

            button7.Enabled = false;
            button8.Enabled = false;
            button9.Enabled = false;

            double[,] mat = tomat(tbA.Text);
            lA            = new SparseMatrix(mat);
            n             = lA.Rows;
            show("Lib A initiated !");

            lB = new SparseMatrix(n, 1);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    lB[i, 0] += mat[i, j] * (j + 1);
                }
            }
            tbB.Clear();
            tbB.AppendText(lB.ToString());

            h = new Householder(lA);
            tbR.Clear();
            tbR.AppendText(h.R().ToString());
            tbQ.Clear();
            tbQ.AppendText(h.Q().ToString());

            Matrix lQp = new SparseMatrix(n, n);

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    lQp[j, i] = h.Q()[i, j];
                }
            }

            Matrix lBp = lQp.Multiply(lB);

            tbBb.Clear();
            tbBb.AppendText(lBp.ToString());

            show("Lib Q,R calculated !");
            button7.Enabled = true;
            button9.Enabled = true;

            tqr = DateTime.Now - dt;
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: alexflorea/CN
        private void button1_MouseClick(object sender, MouseEventArgs e)
        {
            ReadFromFile();
                b = new DenseVector(n, n);
                b = A.Multiply(s);    // Punctul 1

                Giv_R = new DenseMatrix(n, n);
                Giv_Q = new DenseMatrix(n, n);

                //Givens
                Givens_Decomposition(A,b); // Punctul 2

                dnAnalytics.LinearAlgebra.Decomposition.IQR t;
                t = new Householder(A);
                textBox1.AppendText("\r\nR\r\n\r\n");
                print_matrix(t.R());
                textBox1.AppendText("\r\nR\r\n\r\n");
                print_matrix(Giv_R);
                textBox1.AppendText("Q\r\n\r\n");
                print_matrix(t.Q());
                textBox1.AppendText("Q\r\n\r\n");
                print_matrix(Giv_Q);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: Rotariu-Stefan/INFO-Nr.Calc
        private void button6_Click(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;

            eps = Math.Pow(10, -Convert.ToInt32(tbeps.Text));

            button7.Enabled = false;
            button8.Enabled = false;
            button9.Enabled = false;

            double[,] mat = tomat(tbA.Text);
            lA = new SparseMatrix(mat);
            n=lA.Rows;
            show("Lib A initiated !");

            lB = new SparseMatrix(n, 1);
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    lB[i, 0] += mat[i, j] * (j + 1);
            tbB.Clear();
            tbB.AppendText(lB.ToString());

            h = new Householder(lA);
            tbR.Clear();
            tbR.AppendText(h.R().ToString());
            tbQ.Clear();
            tbQ.AppendText(h.Q().ToString());

            Matrix lQp = new SparseMatrix(n, n);
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    lQp[j, i] = h.Q()[i, j];

            Matrix lBp = lQp.Multiply(lB);
            tbBb.Clear();
            tbBb.AppendText(lBp.ToString());

            show("Lib Q,R calculated !");
            button7.Enabled = true;
            button9.Enabled = true;

            tqr = DateTime.Now - dt;
        }