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