Class JAS::SolvPolyRing
In: examples/jas.rb
Parent: SolvableRing

Represents a JAS solvable polynomial ring: GenSolvablePolynomialRing.

Provides more convenient constructor. Then returns a Ring.

Methods

new   to_s  

Public Class methods

Ring constructor.

coeff = factory for coefficients, vars = string with variable names, order = term order, rel = triple list of relations. (e,f,p,…) with e * f = p as relation.

[Source]

      # File examples/jas.rb, line 2647
2647:     def initialize(coeff,vars,order,rel=nil)
2648:         if coeff == nil
2649:             raise ValueError, "No coefficient given."
2650:         end
2651:         cf = coeff;
2652:         if coeff.is_a? RingElem
2653:             cf = coeff.elem.factory();
2654:         end
2655:         if coeff.is_a? Ring
2656:             cf = coeff.ring;
2657:         end
2658:         if vars == nil
2659:             raise ValueError, "No variable names given."
2660:         end
2661:         names = vars;
2662:         if vars.is_a? String
2663:             names = GenPolynomialTokenizer.variableList(vars);
2664:         end
2665:         nv = names.size;
2666:         to = PolyRing.lex;
2667:         if order.is_a? TermOrder
2668:             to = order;
2669:         end
2670:         ring = GenSolvablePolynomialRing.new(cf,nv,to,names);
2671:         if rel != nil
2672:             #puts "rel = " + str(rel);
2673:             table = ring.table;
2674:             ll = [];
2675:             for x in rel
2676:                 if x.is_a? RingElem
2677:                     x = x.elem;
2678:                 end
2679:                 ll << x;
2680:             end
2681:             #puts "rel = " + str(ll);
2682:             (0..ll.size-1).step(3) { |i|
2683:                 #puts "type " + str(ll[i].class);
2684:                 table.update( ll[i], ll[i+1], ll[i+2] );
2685:             }
2686:         end
2687:         @ring = ring;
2688:         #puts "SolvPolyRing to super()";
2689:         super("",@ring) 
2690:     end

Public Instance methods

Create a string representation.

[Source]

      # File examples/jas.rb, line 2695
2695:     def to_s()
2696:         return @ring.toScript();
2697:     end

[Validate]