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
5371 def initialize(ring,polylist,ideal=nil,list=nil)
5372     if ring.is_a? Ring or ring.is_a? PolyRing
5373         ring = MultiVarPowerSeriesRing.new(ring.ring);
5374     elsif ring.is_a? MultiSeriesRing
5375         ring = ring.ring;
5376     end
5377     @ring = ring;
5378     #puts "ring = ", ring.toScript();
5379     if ideal != nil
5380        polylist = ideal.pset.list;
5381     end
5382     if list == nil
5383         @polylist = rbarray2arraylist( polylist.map { |a| a.elem } );
5384         #puts "polylist = ", @polylist;
5385         @list = @ring.fromPolynomial(@polylist);
5386     else
5387         @polylist = nil;
5388         @list = rbarray2arraylist( list.map { |a| a.elem } );
5389     end
5390 end

Public Instance Methods

STD(trunc=nil) click to toggle source

Compute a standard base.

     # File examples/jas.rb
5402 def STD(trunc=nil)
5403     pr = @ring;
5404     if trunc != nil
5405         pr.setTruncate(trunc);
5406     end
5407     #puts "pr = ", pr.toScript();
5408     ff = @list;
5409     #puts "ff = ", ff;
5410     tm = StandardBaseSeq.new();
5411     t = System.currentTimeMillis();
5412     ss = tm.STD(ff);
5413     t = System.currentTimeMillis() - t;
5414     puts "sequential standard base executed in #{t} ms\n";
5415     #Sp = [ RingElem.new(a.asPolynomial()) for a in S ];
5416     sp = ss.map { |a| RingElem.new(a) };
5417     #return sp;
5418     return PSIdeal.new(@ring,nil,nil,sp);
5419 end
to_s() click to toggle source

Create a string representation.

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