lib/silicium/sugar.rb
module Silicium
module Sparse
# addition for SparseMatrix class
class SparseMatrix
##
# @param [SparseMatrix] other - second matrix for adding
# @raise [ArgumentError] If the size of the first matrix doesn't match the size of the second matrix
# @return [SparseMatrix] Matrix as the sum of the other two matrices
#
# Makes the sum of two matrix
def +(other)
adding(other)
end
##
# @param [SparseMatrix] other - second matrix for adding
# @raise [ArgumentError] If the size of the first matrix doesn't match the size of the second matrix
# @return [SparseMatrix] Matrix as the sum of the other two matrices
#
# Makes the sum of two matrix
def -(other)
adding(other.mult_by_num(-1))
end
##
# @param [SparseMatrix::Object] other - A matrix to multiply to
# @raise [ArgumentError] if count of columns of right matrix
# doesn't match count of rows of left matrix
#
# Returns a matrix in its regular view but multiplied by other matrix
def *(other)
multiply(other)
end
end
end
end