
[index-ja] [finite-set-ja] Algebra::Map

Algebra::Map

饹

ɽ륯饹Ǥ

ե̾:

  finite-map.rb

ѡ饹:

  Set

󥯥롼ɤƤ⥸塼:

  Powers

饹᥽å:

::[[x0 => y0, [x1 => y1, [x2 => y2, ...]]]]
    x0 λ y0, x1 λ y1, x2 λ y2,.. Ȥͤļ֤ޤ
   
    :
    require "finite-map"
    include Algebra
    p Map[0 => 10, 1 => 11, 2 => 12]         #=> {0 => 10, 1 => 11, 2 => 12}
    p Map[{0 => 10, 1 => 11, 2 => 12}]       #=> {0 => 10, 1 => 11, 2 => 12}
    p Map.new(0 => 10, 1 => 11, 2 => 12)     #=> {0 => 10, 1 => 11, 2 => 12}
    p Map.new({0 => 10, 1 => 11, 2 => 12})   #=> {0 => 10, 1 => 11, 2 => 12}
    p Map.new_a([0, 10, 1, 11, 2, 12])       #=> {0 => 10, 1 => 11, 2 => 12}
   
::new([x0 => y0, [x1 => y1, [x2 => y2, ...]]])
    x0 λ y0, x1 λ y1, x2 λ y,.. Ȥͤļ֤ޤ::[] 
    ƱǤ
   
::new_a(a)
     a ζܤθܤͰθȤ
    ޤ
   
::phi([t])
    褬Ǥˤ֤ޤ t ˤȡ
     target ˤޤ
   
    :
    p Map.phi #=> {}
    p Map.phi(Set[0, 1]) #=> {}
    p Map.phi(Set[0, 1]).target #=> {0, 1}
   
::empty_set
    ::phi ΥꥢǤ
   
::singleton(x, y)
    Ĥθǹ뽸 {x} 줿 y Ȥͤؿ֤
    ޤ
   

᥽å:

target=(s)
    Ͱ s ꤷޤsurjective? ʤɤѤޤ
   
codomain=(s)
    target= ΥꥢǤ
   
target
    Ͱ֤ޤ
   
codomain
    target ΥꥢǤ
   
source
    ֤ޤ
   
    :
    require "finite-map"
    include Algebra
    m = Map[0 => 10, 1 => 11, 2 => 12]
    p m.source #=> {0, 1, 2}
    p m.target #=> nil
    m.target = Set[10, 11, 12, 13]
    p m.target #=> {10, 11, 12, 13}
   
domain
    source ΥꥢǤ
   
phi([t])
    Ͱ t Ȥμ֤ޤ
   
empty_set
null
    phi ΥꥢǤ
   
call(x)
     x ˤ֤ͤޤ
   
act
[]
    call ΥꥢǤ
   
each
    ٤Ƥ [, ] ˤĤƷ֤ƥ졼Ǥ
   
    :
    require "finite-map"
    include Algebra
    Map[0 => 10, 1 => 11, 2 => 12].each do |x, y|
      p [x, y] #=> [1, 11], [0, 10], [2, 12]
    end
   
compose(other)
    self  other ι֤ޤ
   
    :
    require "finite-map"
    include Algebra
    f = Map.new(0 => 10, 1 => 11, 2 => 12)
    g = Map.new(10 => 20, 11 => 21, 12 => 22)
    p g * f #=> {0 => 20, 1 => 21, 2 => 22}
   
*
    compose ΥꥢǤ
   
dup
    Ȥʣ֤ޤͰ֤ͤޤ
   
append!(x, y)
    x  y Ȥͤ褦ꤷޤ
   
    :
    require "finite-map"
    include Algebra
    m = Map[0 => 10, 1 => 11]
    m.append!(2, 12)
    p m #=> {0 => 10, 1 => 11, 2 => 12}
   
[x] = y
    append! ΥꥢǤ
   
append(x, y)
    dup θ塢append!(x, y) Τ֤ޤ
   
include?(x)
    x ˴ޤޤȤ֤ޤ
   
contains?(x)
    include? ΥꥢǤ
   
has?(a)
    a  [x, y] ȤȤx ˤͤ y ȤʤȤ֤ޤ
   
    :
    require "finite-map"
    include Algebra
    m = Map[0 => 10, 1 => 11]
    p m.include?(1)  #=> true
    p m.has([1, 11]) #=> true
   
image([s])
    ֤ޤʬ s ͿС s ֤ޤ
   
inv_image(s)
     s θ֤ޤ
   
map_s
    γ [, ] ΥڥˤĤƷ֤֥åͤν֤
    
   
    :
    require "finite-map"
    include Algebra
    p Map.new(0 => 10, 1 => 11, 2 => 12).map_s{|x, y| y - 2*x}
    #=> Set[10, 9, 8]
   
map_m
    γ [, ] ΥڥˤĤƷ֤֥åͤǹ
    ֤ޤ
   
    :
    require "finite-map"
    include Algebra
    p Map.new(0 => 10, 1 => 11, 2 => 12).map_m{|x, y| [y, x]}
    #=> {10 => 0, 11 => 1, 12 => 2}
   
inverse
    ռ֤ޤ
   
surjective?
    ͤǤ֤ޤ餫 target ꤵƤɬפ
    
   
injective?
    ñͤǤ֤ޤ
   
bijective?
    ñͤǤ֤ޤ餫 target ꤵƤɬפ
    ޤ
   

