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
5559 def initialize(ring,polylist,ideal=nil,list=nil)
5560     if ring.is_a? Ring or ring.is_a? PolyRing
5561         ring = MultiVarPowerSeriesRing.new(ring.ring);
5562     elsif ring.is_a? MultiSeriesRing
5563         ring = ring.ring;
5564     end
5565     @ring = ring;
5566     #puts "ring = ", ring.toScript();
5567     if ideal != nil
5568        polylist = ideal.pset.list;
5569     end
5570     if list == nil
5571         @polylist = rbarray2arraylist( polylist.map { |a| a.elem } );
5572         #puts "polylist = ", @polylist;
5573         @list = @ring.fromPolynomial(@polylist);
5574     else
5575         @polylist = nil;
5576         @list = rbarray2arraylist( list.map { |a| a.elem } );
5577     end
5578 end

Public Instance Methods

STD(trunc=nil) click to toggle source

Compute a standard base.

     # File examples/jas.rb
5590 def STD(trunc=nil)
5591     pr = @ring;
5592     if trunc != nil
5593         pr.setTruncate(trunc);
5594     end
5595     #puts "pr = ", pr.toScript();
5596     ff = @list;
5597     #puts "ff = ", ff;
5598     tm = StandardBaseSeq.new();
5599     t = System.currentTimeMillis();
5600     ss = tm.STD(ff);
5601     t = System.currentTimeMillis() - t;
5602     puts "sequential standard base executed in #{t} ms\n";
5603     #Sp = [ RingElem.new(a.asPolynomial()) for a in S ];
5604     sp = ss.map { |a| RingElem.new(a) };
5605     #return sp;
5606     return PSIdeal.new(@ring,nil,nil,sp);
5607 end
to_s() click to toggle source

Create a string representation.

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