/* -*- MaTX -*- * * 【名前】 * diag() - 対角行列 * * 【形式】 * X = diag(x1, x2, ..., xn) * Matrix X; * (Integer|Reaal|Complex|Polynomial|Rational|Matrix|Array) x1,...,xn * * 【機能説明】 * diag(x1, ..., xn) は x1, ..., xn を対角成分とする対角行列を作る。 * xi が行列のとき,ブロック対角行列になる。引数に複素数が含まれると * 複素行列に,多項式が含まれると多項式行列に,有理多項式が含まれる * 有理多項式行列になる。 * * 【例題】 * >> X = diag(1, (2,3)) * === [X] : ( 2, 2) === * [ ( 1)-Real ( 1)-Imag ] [ ( 2)-Real ( 2)-Imag ] * ( 1) 1.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 * ( 2) 0.000000E+00 0.000000E+00 2.000000E+00 3.000000E+00 * >> s = Polynomial("s"); * >> X = diag(3.14, s+2) * === [X] : ( 2, 2) === * [ ( 1) ] [ ( 2) ] * ( 1) 3.14 0 * ( 2) 0 s + 2 * >> X = diag(3.14, [[1 2][3 4]], 5) * === [X] : ( 4, 4) === * ( 1) ( 2) ( 3) ( 4) * ( 1) 3.140000E+00 0.000000E+00 0.000000E+00 0.000000E+00 * ( 2) 0.000000E+00 1.000000E+00 2.000000E+00 0.000000E+00 * ( 3) 0.000000E+00 3.000000E+00 4.000000E+00 0.000000E+00 * ( 4) 0.000000E+00 0.000000E+00 0.000000E+00 5.000000E+00 * * 【関連項目】 * diag2vec(), vec2diag(), diag_vec() */