class Math::SparseVector

Clase que permite representar un vector disperso

Attributes

vector[R]

Public Class Methods

new(h = {}) click to toggle source
# File lib/matrix_disp.rb, line 127
def initialize(h = {})
  @vector = Hash.new(0)
  @vector = @vector.merge!(h)
end

Public Instance Methods

+(other) click to toggle source

método que implementa la suma de vectores dispersos

# File lib/matrix_disp.rb, line 148
def +(other)
  resultado = SparseVector.new
  for i in other.vector.keys do
    resultado[i] = other[i]
  end
  for i in @vector.keys do
    resultado[i] = @vector[i] + other[i]
  end
  resultado
end
-(other) click to toggle source

método que implementa la resta de vectores dispersos

# File lib/matrix_disp.rb, line 159
def -(other)
  resultado = SparseVector.new
  for i in other.vector.keys do
    resultado[i] = other[i]
  end
  for i in @vector.keys do
    resultado[i] = @vector[i] - other[i]
  end
  resultado
end
[](i) click to toggle source

método que permite la indexación de elementos del vector disperso

# File lib/matrix_disp.rb, line 132
def [](i)
  @vector[i] 
end
[]=(i,v) click to toggle source

método que permite la asignación de elementos del vector disperso

# File lib/matrix_disp.rb, line 136
def []=(i,v)
  @vector[i] = v
end
keys() click to toggle source

devuelve las claves del Hash @vector

# File lib/matrix_disp.rb, line 144
def keys
  @vector.keys
end
to_s() click to toggle source

método que permite pasar el vector a string

# File lib/matrix_disp.rb, line 140
def to_s
  @vector.to_s
end