Module: FigurateNumbers::ArithTransform

Extended by:
ArithTransform
Included in:
FigurateNumbers, ArithTransform
Defined in:
lib/figurate_numbers/arith_transform.rb

Overview

Provides arithmetic methods for transforming and analyzing figurate number sequences.

Instance Method Summary collapse

Instance Method Details

#n_residue(n, pow, mod) ⇒ Object



9
10
11
# File 'lib/figurate_numbers/arith_transform.rb', line 9

def n_residue(n, pow, mod)
  ModNUtils.q_residues(n, pow, mod)
end

#padic_expansion(n, p, precision = 11, reverse: false) ⇒ Object



37
38
39
# File 'lib/figurate_numbers/arith_transform.rb', line 37

def padic_expansion(n, p, precision = 11, reverse: false)
  PAdicUtils.padic_expansion(n, p, precision, reverse)
end

#padic_norm(n, p) ⇒ Object



27
28
29
# File 'lib/figurate_numbers/arith_transform.rb', line 27

def padic_norm(n, p)
  PAdicUtils.padic_norm(n, p)
end

#padic_val(n, p) ⇒ Object



17
18
19
# File 'lib/figurate_numbers/arith_transform.rb', line 17

def padic_val(n, p)
  PAdicUtils.padic_valuation(n, p)
end

#pc_inversion(n, mod) ⇒ Object



13
14
15
# File 'lib/figurate_numbers/arith_transform.rb', line 13

def pc_inversion(n, mod)
  ModNUtils.inversion(n, mod)
end

#ring_padic_expansion(seq, p, precision = 11, reverse: false) ⇒ Object



41
42
43
44
45
# File 'lib/figurate_numbers/arith_transform.rb', line 41

def ring_padic_expansion(seq, p, precision = 11, reverse: false)
  seq.map do |delta|
    PAdicUtils.padic_expansion(delta, p, precision, reverse)
  end
end

#ring_padic_norm(seq, p) ⇒ Object



31
32
33
34
35
# File 'lib/figurate_numbers/arith_transform.rb', line 31

def ring_padic_norm(seq, p)
  seq.map do |delta|
    PAdicUtils.padic_norm(delta, p)
  end
end

#ring_padic_val(seq, p) ⇒ Object



21
22
23
24
25
# File 'lib/figurate_numbers/arith_transform.rb', line 21

def ring_padic_val(seq, p)
  seq.map do |delta|
    PAdicUtils.padic_valuation(delta, p)
  end
end