Class | JAS::EF |
In: |
examples/jas.rb
|
Parent: | Object |
Extension field builder. Construction of extension field towers according to then builder pattern.
builder | [R] |
Constructor to set base field.
# File examples/jas.rb, line 3811 3811: def initialize(base) 3812: if base.is_a? RingElem 3813: #factory = base.elem; 3814: factory = base.ring; 3815: else 3816: factory = base; 3817: end 3818: begin 3819: factory = factory.factory(); 3820: rescue 3821: #pass 3822: end 3823: puts "extension field factory: " + factory.toScript(); # + " :: " + factory.toString(); 3824: if factory.is_a? ExtensionFieldBuilder 3825: @builder = factory; 3826: else 3827: @builder = ExtensionFieldBuilder.new(factory); 3828: end 3829: end
Get extension field tower.
# File examples/jas.rb, line 3882 3882: def build() 3883: rf = @builder.build(); 3884: if rf.is_a? GenPolynomialRing 3885: return PolyRing.new(rf.coFac,rf.getVars(),rf.tord); 3886: else 3887: return RingElem.new(rf.getZERO()); 3888: end 3889: 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 3866 3866: def complexExtend(vars,algebraic,rectangle) 3867: ef = @builder.complexAlgebraicExtension(vars,algebraic,rectangle); 3868: return EF.new(ef.build()); 3869: 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 3844 3844: def extend(vars,algebraic=nil) 3845: if algebraic == nil 3846: ef = @builder.transcendentExtension(vars); 3847: else 3848: ef = @builder.algebraicExtension(vars,algebraic); 3849: end 3850: return EF.new(ef.build()); 3851: end
Create an polynomial ring extension.
# File examples/jas.rb, line 3874 3874: def polynomial(vars) 3875: ef = @builder.polynomialExtension(vars); 3876: return EF.new(ef.build()); 3877: 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 3857 3857: def realExtend(vars,algebraic,interval) 3858: ef = @builder.realAlgebraicExtension(vars,algebraic,interval); 3859: return EF.new(ef.build()); 3860: end