
[index-ja]

Algebra::ResidueClassRing

(;ĥ饹)

Ĥ餽1ĤθˡȤ;ĤޤºݤΥ饹ˤϴĤˡ
Ȥꤷơ饹᥽å ::create 뤤ϴؿ Algebra.ResidueClassRing()
Ѥޤ

ե̾:

  residue-class-ring.rb

ѡ饹:

  Object

󥯥롼ɤƤ⥸塼:

ʤ

Ϣؿ:

Algebra.ResidueClassRing(ring, mod)
    ::create(ring, mod) ƱǤ
   

饹᥽å:

::create(ring, mod)
    饹 ring ɽĤȤδĤθ mod 顢θˡȤ;Ĥ
    ɽ륯饹֤ޤ
   
    ͤ Algebra::ResidueClassRing 饹Υ֥饹ǤΥ֥
    ˤϥ饹᥽åɤȤ ::ground  ::modulus  [x] 졢줾
    졢ô ringˡ modx ɽȤ;֤ޤ
   
    : ¿༰Ĥˡ x**2 + x + 1 ǳ롣
    require "rational"
    require "polynomial"
    require "residue-class-ring"
    Px = Algebra.Polynomial(Rational, "x")
    x = Px.var
    F = Algebra.ResidueClassRing(Px, x**2 + x + 1)
    p F[x + 1]**100     #=> -x - 1
   
    ring  Integer Ǥ˸¤ꡢƤεտͽ׻ݴɤޤޤ
    0, 1, ... , mod-1 б; to_ary 뤳ȤǤޤ
   
    : modulo 7 
    require "residue-class-ring"
    F7 = Algebra::ResidueClassRing.create(Integer, 7)
    a, b, c, d, e, f, g = F7
    p [e + c, e - c, e * c, e * 2001, 3 + c, 1/c, 1/c * c]
      #=> [6, 2, 1, 3, 5, 4, 1]
    p( (1...7).collect{|i| F7[i]**6} )
      #=> [1, 1, 1, 1, 1, 1]
   
::[x]
    x ɽ;֤ޤ
   
::zero
    ֤ޤ
   
::unity
    ñ̸֤ޤ
   

᥽å:

lift
    ;ɽ֤ޤ
   
zero?
    ǤȤ֤ޤ
   
zero
    ֤ޤ
   
unity
    ñ̸֤ޤ
   
==(other)
    Ȥ֤ޤ
   
+(other)
    ¤׻ޤ
   
-(other)
    ׻ޤ
   
*(other)
    Ѥ׻ޤ
   
**(n)
    n ׻ޤ
   
/(other)
    inverse Ѥƾ׻ޤ
   
inverse
    ôĤ桼åɴĤǤ뤳Ȥꤷơտ֤ޤտ¸ߤ
    ͤ nil Ǥ
   

