Create an identity matrix

Require: size >= 0

var i = new Matrix.identity(3)
assert i.to_s == """
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0"""

Property definitions

matrix $ Matrix :: identity
	# Create an identity matrix
	#
	# Require: `size >= 0`
	#
	# ~~~
	# var i = new Matrix.identity(3)
	# assert i.to_s == """
	# 1.0 0.0 0.0
	# 0.0 1.0 0.0
	# 0.0 0.0 1.0"""
	# ~~~
	new identity(size: Int)
	do
		assert size >= 0

		var matrix = new Matrix(size, size)
		for i in [0..size[ do
			for j in [0..size[ do
				matrix[j, i] = if i == j then 1.0 else 0.0
			end
		end
		return matrix
	end
lib/matrix/matrix.nit:110,2--132,4