func (m *matrixImpl) Subtract(n types.Matrix) types.Matrix { validates.ShapeShouldBeSame(m, n) cursor := n.NonZeros() for cursor.HasNext() { element, row, column := cursor.Get() m.Update(row, column, m.Get(row, column)-element) } return m }
func (m *matrixImpl) Equal(n types.Matrix) bool { validates.ShapeShouldBeSame(m, n) cursor := n.All() for cursor.HasNext() { element, row, column := cursor.Get() if m.Get(row, column) != element { return false } } return true }