Extension field builder. Construction of extension field towers according to then builder pattern.
Constructor to set base field.
# File examples/jas.rb, line 5273 def initialize(base) if base.is_a? RingElem #factory = base.elem; factory = base.ring; else factory = base; end begin factory = factory.factory(); rescue #pass end puts "extension field factory: " + factory.toScript(); # + " :: " + factory.toString(); if factory.is_a? ExtensionFieldBuilder @builder = factory; else @builder = ExtensionFieldBuilder.new(factory); end end
Get extension field tower.
# File examples/jas.rb, line 5344 def build() rf = @builder.build(); if rf.is_a? GenPolynomialRing return PolyRing.new(rf.coFac,rf.getVars(),rf.tord); else return RingElem.new(rf.getZERO()); end end
Create a complex extension field. Construct a complex algebraic extension field with an isolating rectangle for a complex root.
# File examples/jas.rb, line 5328 def complexExtend(vars,algebraic,rectangle) ef = @builder.complexAlgebraicExtension(vars,algebraic,rectangle); return EF.new(ef.build()); end
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.
# File examples/jas.rb, line 5306 def extend(vars,algebraic=nil) if algebraic == nil ef = @builder.transcendentExtension(vars); else ef = @builder.algebraicExtension(vars,algebraic); end return EF.new(ef.build()); end
Create an polynomial ring extension.
# File examples/jas.rb, line 5336 def polynomial(vars) ef = @builder.polynomialExtension(vars); return EF.new(ef.build()); end
Create a real extension field. Construct a real algebraic extension field with an isolating interval for a real root.
# File examples/jas.rb, line 5319 def realExtend(vars,algebraic,interval) ef = @builder.realAlgebraicExtension(vars,algebraic,interval); return EF.new(ef.build()); end
Generated with the Darkfish Rdoc Generator 2.