Class | JAS::PSIdeal |
In: |
examples/jas.rb
|
Parent: | Object |
list | [R] | |
ring | [R] |
PSIdeal constructor.
# File examples/jas.rb, line 3578 3578: def initialize(ring,polylist,ideal=nil,list=nil) 3579: if ring.is_a? Ring or ring.is_a? PolyRing 3580: ring = MultiVarPowerSeriesRing.new(ring.ring); 3581: elsif ring.is_a? MultiSeriesRing 3582: ring = ring.ring; 3583: end 3584: @ring = ring; 3585: #puts "ring = ", ring.toScript(); 3586: if ideal != nil 3587: polylist = ideal.pset.list; 3588: end 3589: if list == nil 3590: @polylist = rbarray2arraylist( polylist.map { |a| a.elem } ); 3591: #puts "polylist = ", @polylist; 3592: @list = @ring.fromPolynomial(@polylist); 3593: else 3594: @polylist = nil; 3595: @list = rbarray2arraylist( list.map { |a| a.elem } ); 3596: end 3597: end
Compute a standard base.
# File examples/jas.rb, line 3609 3609: def STD(trunc=nil) 3610: pr = @ring; 3611: if trunc != nil 3612: pr.setTruncate(trunc); 3613: end 3614: #puts "pr = ", pr.toScript(); 3615: ff = @list; 3616: #puts "ff = ", ff; 3617: tm = StandardBaseSeq.new(); 3618: t = System.currentTimeMillis(); 3619: ss = tm.STD(ff); 3620: t = System.currentTimeMillis() - t; 3621: puts "sequential standard base executed in #{t} ms\n"; 3622: #Sp = [ RingElem.new(a.asPolynomial()) for a in S ]; 3623: sp = ss.map { |a| RingElem.new(a) }; 3624: #return sp; 3625: return PSIdeal.new(@ring,nil,nil,sp); 3626: end