/// <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]; } }
/// <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]; } }