algebra/index.html

[README] [Japanese]

# Algebra

    Version: 0.71 (2005.07.26)
    Author: Shin-ichiro HARA (sinara@blade.nagaokaut.ac.jp)

This is a library of one-variate and multi-variate polynomials.

## 0. Frist Step

Begin with 'require "algebra"'.

    require "algebra"
    x = Polynomial(Integer, "x").var
    puts( (x+1)**7 )
      #=> x^7 + 7x^6 + 21x^5 + 35x^4 + 35x^3 + 21x^2 + 7x + 1
    puts( (x**7 + 7*x**6 + 21*x**5 + 35*x**4 + 35*x**3 + 21*x**2 + 7*x + 1).factorize )
      #=> (x + 1)^7

## 1. Samples

- Samples

## 2. Class and Module

- Algebra (Module of Algebra)
  - Algebra::Polynomial (Class of Polynomial Ring)
  - Algebra::EuclidianRing (Eulcidian Ring Module)
  - Algebra::MPolynomial (Multi-variate Polynomial Ring Class)
  - Algebra::ResidueClassRing (Residue Class Ring Class)
  - Algebra::AlgebraicExtensionField (Algebraic Extension Class)
  - Algebra::LocalizedRing (Localized Ring Class)
  - Algebra::MatrixAlgebra (Matrix Algebra Class)
  - Algebra::AlgebraicParser (evaluation of algebraic strings)
  - Algebra::Set (Sets)
  - Algebra::Map (Maps)
  - Algebra::Group (Groups)
  - Algebra::PermutationGroup (PermutationGroups)

## 3. Other

- Algebra::ElementaryDivisor (Elementary Divisor Module)
- Algebra::JordanForm (Jordan Matrix Class)
- Algebra::MatrixAlgebraTriplet (Triplete of Matrices Class)
- Algebraic Equations
- Conversions of Polynomial Classes

## 4. Contents of package

### General

    algebra.rb               File for using Algebra libraries

### One variate polynomial

    polynomial.rb            Class of one variate polynomial
    euclidian-ring.rb        Module of Euclidian domain
    polynomial-factor.rb     Factorization:
      polynomial-factor-int.rb   Integer version
      polynomial-factor-zp.rb    Zp version
      polynomial-factor-alg.rb   Algebraic number version

### Multi variate polynomial

    m-polynomial.rb         Class of multi-variate polynomial
      m-index.rb            Class of indices of degrees
    m-polynomial-factor.rb     Factorization:
      m-polynomial-factor-int.rb   Integer version
      m-polynomial-factor-zp.rb    Zp version
    groebner-basis.rb       Module of Groebner basis
    groebner-basis-coeff.rb Module of division by Groebner basis

### Foundation

    finite-set.rb           Sets
      finite-map.rb         Maps
      finite-group.rb       Groups
        permutation-group.rb  Permutation Groups

### Common part

    numeric-supplement.rb   Supplement of Numeric
    prime-gen.rb            Class of prime numbers
    polynomial-converter.rb Conversions between polynomial classes
    algebraic-parser.rb     Evaluation of strings
    algebra-system.rb       Common specification of algebras

### General algebra

    localized-ring.rb       Quotient fields
    matrix-algebra.rb       Matrix
      elementary-divisor.rb Elementary Divisor Class
      matrix-algebra-triplet.rb  Triplet of Matrices Class
      jordan-form.rb        Jordan Block Class
    residue-class-ring.rb   Residue class ring
    algebraic-extention-field.rb Algebraic Extention Field of Polynomial
    splitting-field.rb      Minimal Splitting Field of Polynomial
    galois-group.rb         Galois Group of Polynomial
    linear-algebra.rb       library for linear algebra
    algebraic-equation.rb   library for algebraic equation

### Others

    array-supplement.rb    Supplement of Array
    doc/                   English Manuals(RD, HTML, TXT)
    doc-ja/                Japanese Manuals(RD, HTML, TXT)
    sample/                Sample Codes
    work/                  (working directory for the developer)

## 5. ToDo

- todo.html

## 6. Changes

- changes.html