class JAS::EF

Extension ring and field builder. Construction of extension ring and field towers using the builder pattern.

Attributes

builder[R]

the Java extension field builder

Public Class Methods

new(base) click to toggle source

Constructor to set base field.

     # File examples/jas.rb
5833 def initialize(base)
5834     if base.is_a? RingElem
5835         #factory = base.elem;
5836         factory = base.ring;
5837     else
5838         factory = base;
5839     end
5840     begin
5841         factory = factory.factory();
5842     rescue
5843         #pass
5844     end
5845     puts "extension field factory: " + factory.toScript(); # + " :: " + factory.toString();
5846     if factory.is_a? ExtensionFieldBuilder
5847         @builder = factory;
5848     else
5849         @builder = ExtensionFieldBuilder.new(factory);
5850     end
5851 end

Public Instance Methods

build() click to toggle source

Get extension ring or field tower.

     # File examples/jas.rb
5915 def build()
5916     rf = @builder.build();
5917     if rf.is_a? GenPolynomialRing
5918         return PolyRing.new(rf.coFac,rf.getVars(),rf.tord);
5919     else
5920         return Ring.new("", rf);
5921     end
5922 end
complexExtend(vars,algebraic,rectangle) click to toggle source

Create a complex extension field. Construct a complex algebraic extension field with an isolating rectangle for a complex root.

     # File examples/jas.rb
5891 def complexExtend(vars,algebraic,rectangle)
5892     ef = @builder.complexAlgebraicExtension(vars,algebraic,rectangle);
5893     return EF.new(ef.build());
5894 end
extend(vars,algebraic=nil) click to toggle source

Create an extension field. If algebraic is given as string expression, then an algebraic extension field is constructed, else a transcendental extension field is constructed.

end

     # File examples/jas.rb
5866 def extend(vars,algebraic=nil) 
5867     if algebraic == nil
5868         ef = @builder.transcendentExtension(vars);
5869     else if algebraic.is_a? Integer
5870             ef = @builder.finiteFieldExtension(algebraic);
5871          else
5872             ef = @builder.algebraicExtension(vars,algebraic);
5873          end
5874     end
5875     return EF.new(ef.build());
5876 end
matrix(n) click to toggle source

Create a matrix ring extension.

     # File examples/jas.rb
5907 def matrix(n)
5908     ef = @builder.matrixExtension(n);
5909     return EF.new(ef.build());
5910 end
polynomial(vars) click to toggle source

Create a polynomial ring extension.

     # File examples/jas.rb
5899 def polynomial(vars)
5900     ef = @builder.polynomialExtension(vars);
5901     return EF.new(ef.build());
5902 end
realExtend(vars,algebraic,interval) click to toggle source

Create a real extension field. Construct a real algebraic extension field with an isolating interval for a real root.

     # File examples/jas.rb
5882 def realExtend(vars,algebraic,interval)
5883     ef = @builder.realAlgebraicExtension(vars,algebraic,interval);
5884     return EF.new(ef.build());
5885 end
to_s() click to toggle source

Create a string representation.

     # File examples/jas.rb
5856 def to_s()
5857     return @builder.toScript(); 
5858     #return @builder.toString();
5859 end