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
5809 def initialize(base)
5810     if base.is_a? RingElem
5811         #factory = base.elem;
5812         factory = base.ring;
5813     else
5814         factory = base;
5815     end
5816     begin
5817         factory = factory.factory();
5818     rescue
5819         #pass
5820     end
5821     puts "extension field factory: " + factory.toScript(); # + " :: " + factory.toString();
5822     if factory.is_a? ExtensionFieldBuilder
5823         @builder = factory;
5824     else
5825         @builder = ExtensionFieldBuilder.new(factory);
5826     end
5827 end

Public Instance Methods

build() click to toggle source

Get extension ring or field tower.

     # File examples/jas.rb
5891 def build()
5892     rf = @builder.build();
5893     if rf.is_a? GenPolynomialRing
5894         return PolyRing.new(rf.coFac,rf.getVars(),rf.tord);
5895     else
5896         return Ring.new("", rf);
5897     end
5898 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
5867 def complexExtend(vars,algebraic,rectangle)
5868     ef = @builder.complexAlgebraicExtension(vars,algebraic,rectangle);
5869     return EF.new(ef.build());
5870 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
5842 def extend(vars,algebraic=nil) 
5843     if algebraic == nil
5844         ef = @builder.transcendentExtension(vars);
5845     else if algebraic.is_a? Integer
5846             ef = @builder.finiteFieldExtension(algebraic);
5847          else
5848             ef = @builder.algebraicExtension(vars,algebraic);
5849          end
5850     end
5851     return EF.new(ef.build());
5852 end
matrix(n) click to toggle source

Create a matrix ring extension.

     # File examples/jas.rb
5883 def matrix(n)
5884     ef = @builder.matrixExtension(n);
5885     return EF.new(ef.build());
5886 end
polynomial(vars) click to toggle source

Create a polynomial ring extension.

     # File examples/jas.rb
5875 def polynomial(vars)
5876     ef = @builder.polynomialExtension(vars);
5877     return EF.new(ef.build());
5878 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
5858 def realExtend(vars,algebraic,interval)
5859     ef = @builder.realAlgebraicExtension(vars,algebraic,interval);
5860     return EF.new(ef.build());
5861 end
to_s() click to toggle source

Create a string representation.

     # File examples/jas.rb
5832 def to_s()
5833     return @builder.toScript(); 
5834     #return @builder.toString();
5835 end