{require lib_matrix} 1) applying a matrix to a vector {def M {M.new [[1,2,3], [4,5,6], [7,8,-9]]}} -> M {def V {M.new [1,2,3]} } -> V {M.multiply {M} {V}} -> [14,32,-4] 2) matrix multiplication {M.multiply {M} {M}} -> [[ 30, 36,-12], [ 66, 81,-12], [-24,-18,150]]