module Combinatorial::Cubic
Public Instance Methods
power_cubic(n, m) { |0...m.collect{0}| ... }
click to toggle source
power in order of (point, eadges, surfaces, bodies, ..)
# File lib/algebra/combinatorial.rb, line 110 def power_cubic(n, m) if n < 1 raise "cubic(< 1, m) called" elsif n == 1 yield( (0...m).collect{0} )# point of origin else 0.upto m do |dim| Combinatorial.comb(m, dim) do |s| power_cubic(n-1, dim) do |a| yield inject(a, s.sort, m) end end end end end
Private Instance Methods
inject(ary, inds, n = inds.size+1)
click to toggle source
# File lib/algebra/combinatorial.rb, line 126 def inject(ary, inds, n = inds.size+1) (0...n).collect{|i| (k = inds.index(i)) ? 1 + ary[k] : 0} end