Method: Stick::Matrix.diagonal
- Defined in:
- lib/stick/matrix/core.rb
.diagonal(*values) ⇒ Object
Creates a matrix where the diagonal elements are composed of values.
Matrix.diagonal(9, 5, -3)
=> 9 0 0
0 5 0
0 0 -3
164 165 166 167 168 169 170 171 172 173 |
# File 'lib/stick/matrix/core.rb', line 164 def Matrix.diagonal(*values) size = values.size rows = (0 .. size - 1).collect { |j| row = Array.new(size).fill(0, 0, size) row[j] = values[j] row } rows(rows, false) end |