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