Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Matrixクラス > diagonal
diagonal(*values) -> Matrix
[permalink][rdoc]対角要素がvaluesで、非対角要素が全て0であるような 正方行列を生成します。
valuesに一次元Arrayを1個指定すると、そのArrayを唯一の要素とした1×1の行列が生成されます。
例:
require 'matrix' m = Matrix.diagonal(1, 2, 3) p m # => Matrix[[1, 0, 0], [0, 2, 0], [0, 0, 3]] a = [1,2,3] m = Matrix.diagonal(a) p m # => Matrix[[[1, 2, 3]]]