module Combinatorial::Diagonal
Public Instance Methods
co_diagonal(n, m) { |difference_seq(0, a, n)| ... }
click to toggle source
# File lib/algebra/combinatorial.rb, line 87 def co_diagonal(n, m) rep_comb(n+1, m-1) do |a| yield difference_seq(0, a, n) end end
diagonal_cone(n, m) { |a| ... }
click to toggle source
# File lib/algebra/combinatorial.rb, line 79 def diagonal_cone(n, m) 0.upto n do |i| co_diagonal(i, m) do |a| yield a end end end
Private Instance Methods
difference_seq(n0, ary, n1)
click to toggle source
# File lib/algebra/combinatorial.rb, line 93 def difference_seq(n0, ary, n1) x = n0 a = [] ary.each do |y| a.push y - x x = y end a.push n1 - x a end