#
#  algebra
#                                                    by Shin-ichiro HARA
#  
#  Version 0.03 (2002.03.02)
#

require "auto-require"
#autoload :Rational, "rational"
require "rational"

module Algebra
end
include Algebra

autoload :AlgebraicEquation, "algebraic-equation"

auto_req_init

autoload :Polynomial, "polynomial"  # class Polynomial
auto_req :Polynomial, "polynomial" # function Polyomial
autoload :MPolynomial, "m-polynomial"
auto_req :MPolynomial, "m-polynomial"

autoload :ResidueClassRing, "residue-class-ring"
auto_req :ResidueClassRing, "residue-class-ring"
autoload :AlgebraicExtensionField, "algebraic-extension-field"
auto_req :AlgebraicExtensionField, "algebraic-extension-field"

autoload :LocalizedRing, "localized-ring"
auto_req :LocalizedRing, "localized-ring"
auto_req :RationalFunctionField, "localized-ring"

autoload :MatrixAlgebra, "matrix-algebra"
auto_req :MatrixAlgebra, "matrix-algebra"
auto_req :SquareMatrix, "matrix-algebra"
auto_req :Vector, "matrix-algebra"
auto_req :Covector, "matrix-algebra"


autoload :AlgebraicExtensionField, "algebraic-extension-field"
auto_req :AlgebraicExtensionField, "algebraic-extension-field"

autoload :Set, "finite-set"
autoload :Map, "finite-map"
autoload :PermutationGroup, "permutation-group"
autoload :Permutation, "permutation-group"

#for backward compatibility
auto_req :MinimalDecompositionField, "splitting-field"
