Class JAS::PSIdeal
In: examples/jas.rb
Parent: Object

Represents a JAS power series ideal.

Method for Standard bases.

Methods

STD   new   to_s  

Attributes

list  [R] 
ring  [R] 

Public Class methods

PSIdeal constructor.

[Source]

      # 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

Public Instance methods

Compute a standard base.

[Source]

      # 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

Create a string representation.

[Source]

      # File examples/jas.rb, line 3602
3602:     def to_s()
3603:         return "( " + @list.map { |a| a.toScript() }.join(", ") + " )";
3604:     end

[Validate]