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
5971 def initialize(base)
5972     if base.is_a? RingElem
5973         #factory = base.elem;
5974         factory = base.ring;
5975     else
5976         factory = base;
5977     end
5978     begin
5979         factory = factory.factory();
5980     rescue
5981         #pass
5982     end
5983     puts "extension field factory: " + factory.toScript(); # + " :: " + factory.toString();
5984     if factory.is_a? ExtensionFieldBuilder
5985         @builder = factory;
5986     else
5987         @builder = ExtensionFieldBuilder.new(factory);
5988     end
5989 end

Public Instance Methods

build() click to toggle source

Get extension ring or field tower.

     # File examples/jas.rb
6053 def build()
6054     rf = @builder.build();
6055     if rf.is_a? GenPolynomialRing
6056         return PolyRing.new(rf.coFac,rf.getVars(),rf.tord);
6057     else
6058         return Ring.new("", rf);
6059     end
6060 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
6029 def complexExtend(vars,algebraic,rectangle)
6030     ef = @builder.complexAlgebraicExtension(vars,algebraic,rectangle);
6031     return EF.new(ef.build());
6032 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
6004 def extend(vars,algebraic=nil) 
6005     if algebraic == nil
6006         ef = @builder.transcendentExtension(vars);
6007     else if algebraic.is_a? Integer
6008             ef = @builder.finiteFieldExtension(algebraic);
6009          else
6010             ef = @builder.algebraicExtension(vars,algebraic);
6011          end
6012     end
6013     return EF.new(ef.build());
6014 end
matrix(n) click to toggle source

Create a matrix ring extension.

     # File examples/jas.rb
6045 def matrix(n)
6046     ef = @builder.matrixExtension(n);
6047     return EF.new(ef.build());
6048 end
polynomial(vars) click to toggle source

Create a polynomial ring extension.

     # File examples/jas.rb
6037 def polynomial(vars)
6038     ef = @builder.polynomialExtension(vars);
6039     return EF.new(ef.build());
6040 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
6020 def realExtend(vars,algebraic,interval)
6021     ef = @builder.realAlgebraicExtension(vars,algebraic,interval);
6022     return EF.new(ef.build());
6023 end
to_s() click to toggle source

Create a string representation.

     # File examples/jas.rb
5994 def to_s()
5995     return @builder.toScript(); 
5996     #return @builder.toString();
5997 end