class JAS::PSIdeal

Represents a JAS power series ideal.

Method for Standard bases.

Attributes

list[R]

the Java powerseries ring, powerseries list

ring[R]

the Java powerseries ring, powerseries list

Public Class Methods

new(ring,polylist,ideal=nil,list=nil) click to toggle source

PSIdeal constructor.

     # File examples/jas.rb
5318 def initialize(ring,polylist,ideal=nil,list=nil)
5319     if ring.is_a? Ring or ring.is_a? PolyRing
5320         ring = MultiVarPowerSeriesRing.new(ring.ring);
5321     elsif ring.is_a? MultiSeriesRing
5322         ring = ring.ring;
5323     end
5324     @ring = ring;
5325     #puts "ring = ", ring.toScript();
5326     if ideal != nil
5327        polylist = ideal.pset.list;
5328     end
5329     if list == nil
5330         @polylist = rbarray2arraylist( polylist.map { |a| a.elem } );
5331         #puts "polylist = ", @polylist;
5332         @list = @ring.fromPolynomial(@polylist);
5333     else
5334         @polylist = nil;
5335         @list = rbarray2arraylist( list.map { |a| a.elem } );
5336     end
5337 end

Public Instance Methods

STD(trunc=nil) click to toggle source

Compute a standard base.

     # File examples/jas.rb
5349 def STD(trunc=nil)
5350     pr = @ring;
5351     if trunc != nil
5352         pr.setTruncate(trunc);
5353     end
5354     #puts "pr = ", pr.toScript();
5355     ff = @list;
5356     #puts "ff = ", ff;
5357     tm = StandardBaseSeq.new();
5358     t = System.currentTimeMillis();
5359     ss = tm.STD(ff);
5360     t = System.currentTimeMillis() - t;
5361     puts "sequential standard base executed in #{t} ms\n";
5362     #Sp = [ RingElem.new(a.asPolynomial()) for a in S ];
5363     sp = ss.map { |a| RingElem.new(a) };
5364     #return sp;
5365     return PSIdeal.new(@ring,nil,nil,sp);
5366 end
to_s() click to toggle source

Create a string representation.

     # File examples/jas.rb
5342 def to_s()
5343     return "( " + @list.map { |a| a.toScript() }.join(", ") + " )";
5344 end