class SimplicialComplex::Complex

Public Class Methods

new() click to toggle source
# File lib/simplicial_complex/complex.rb, line 3
def initialize
  @simplices = Array.new
end

Public Instance Methods

add_simplex(simplex) click to toggle source

Adds a simplex to the complex

# File lib/simplicial_complex/complex.rb, line 8
def add_simplex(simplex)
  (0..simplex.dim).each do |d|
    simplex.faces(d).each do |face|
      @simplices << face unless @simplices.include?(face)
    end
  end
end
betti(dim) click to toggle source

Computes the dim-Betti of the complex

# File lib/simplicial_complex/complex.rb, line 47
def betti(dim)
  
end
dim() click to toggle source

Computes the dimension of the complex

# File lib/simplicial_complex/complex.rb, line 22
def dim
  @simplices.map {|simplex| simplex.dim}.max
end
remove_simplex(simplex) click to toggle source

Removes a simplex from the complex

# File lib/simplicial_complex/complex.rb, line 17
def remove_simplex(simplex)
  @simplices.delete(simplex)
end
simplices(dim) click to toggle source

Computes the simplices of certain dimension

# File lib/simplicial_complex/complex.rb, line 27
def simplices(dim)
  simplices = Array.new
  @simplices.each do |simplex|
    simplices << simplex if simplex.dim == dim
  end
  simplices
end
star(vertex) click to toggle source

Outputs the star of a vertex

# File lib/simplicial_complex/complex.rb, line 42
def star(vertex)
  
end
to_json(*args) click to toggle source
# File lib/simplicial_complex/complex.rb, line 51
def to_json(*args)
  {dim: dim, simplices: @simplices}.to_json(*args)
end
vertices() click to toggle source

Outputs the vertices

# File lib/simplicial_complex/complex.rb, line 37
def vertices
  simplices(0).map {|simplex| simplex.vertices[0]}
end