Esempio n. 1
0
        /// <summary>
        /// 指定されたベクトルから新しい行列を作成する.
        /// 指定された各ベクトルは,新しい行列の各列にコピーされる.
        /// </summary>
        /// <param name="arr"></param>
        public Matrix(params ColumnVector[] arr)
        {
            // 入力の検証
            VectorChecker.IsNotZeroSize(arr[0]);
            int rsize = arr[0].Size;

            MatrixChecker.EqualAllSizes(rsize, arr);
            // 構築
            int csize = arr.Length;

            Resize(rsize, csize);
            for (int c = 0; c < csize; ++c)
            {
                this.Columns[c] = arr[c];
            }
        }
Esempio n. 2
0
        /// <summary>
        /// ベクトル配列から新しい行列を作成する.
        /// 指定された各ベクトルは,新しい行列の各行にコピーされる.
        /// </summary>
        /// <param name="arr"></param>
        public Matrix(params RowVector[] arr)
        {
            // 入力の検証
            VectorChecker.IsNotZeroSize(arr[0]);
            int csize = arr[0].Size;

            MatrixChecker.EqualAllSizes(csize, arr);
            // 構築
            int rsize = arr.Length;

            Resize(rsize, csize);
            for (int r = 0; r < rsize; ++r)
            {
                this.Rows[r] = arr[r];
            }
        }