def - (other)
aux_m = Array.new
@filas.times do |i|
aux_m[i] = Array.new
@cols.times do |j|
aux_m[i][j] = 0;
end
end
if other.is_a?(Matriz_dispersa)
@filas.times do |i|
@cols.times do |j|
if @matriz[i.to_s+"_"+j.to_s] != nil
if other.matriz[i.to_s+"_"+j.to_s] != nil
aux_m[i][j] = @matriz[i.to_s+"_"+j.to_s] - other.matriz[i.to_s+"_"+j.to_s]
else
aux_m[i][j] = @matriz[i.to_s+"_"+j.to_s]
end
else
if other.matriz[i.to_s+"_"+j.to_s] != nil
aux_m[i][j] = -(other.matriz[i.to_s+"_"+j.to_s])
end
end
end
end
elsif other.is_a?(Matriz_densa)
@filas.times do |i|
@cols.times do |j|
if @matriz[i.to_s+"_"+j.to_s] != nil
aux_m[i][j] = @matriz[i.to_s+"_"+j.to_s] - other.matriz[i][j]
else
aux_m[i][j] = -(other.matriz[i][j])
end
end
end
end
Matriz.new(aux_m).comprobar()
end