예제 #1
0
        public static KMatrixNxN Multiply(KMatrixNxN A, double k)
        {
            int        n = A.N;
            KMatrixNxN m = new KMatrixNxN(n);

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    m.Mat[i, j] = k * A.Mat[i, j];
                }
            }

            return(m);
        }
예제 #2
0
        public static KMatrixNxN Multiply(double k, KMatrixNxN A)
        {
            int        n = A.N;
            KMatrixNxN m = new KMatrixNxN(n);

            for (int i = 0; i < n; i++)
            {
                for (int p = 0; p < n; i++)
                {
                    m.Mat[i, p] = k * A.Mat[i, p];
                }
            }

            return(m);
        }
예제 #3
0
        public static KMatrixNxN Substract(KMatrixNxN A, KMatrixNxN B)
        {
            if (A.N == B.N)
            {
                int        n = A.N;
                KMatrixNxN m = new KMatrixNxN(n);

                for (int i = 0; i < n; i++)
                {
                    for (int p = 0; p < n; i++)
                    {
                        m.Mat[i, p] = A.Mat[i, p] - B.Mat[i, p];
                    }
                }

                return(m);
            }

            return(new KMatrixNxN(0));
        }
예제 #4
0
        public static KMatrixNxN Multiply(KMatrixNxN A, KMatrixNxN B)
        {
            if (A.N == B.N)
            {
                int        n = A.N;
                KMatrixNxN m = new KMatrixNxN(n);

                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < n; j++)
                    {
                        for (int l = 0; l < n; l++)
                        {
                            m.Mat[i, j] += A.Mat[i, l] * B.Mat[l, j];
                        }
                    }
                }

                return(m);
            }

            return(new KMatrixNxN(0));
        }