The following function should do what you want:

  DivisorsPol := P -> Set(Combinations(Factors(P)),facts->Product(facts,One(P)));

-- Does this help you?

Best regards,

    Stefan

Am 21.01.2018 um 22:47 schrieb lopo apelo kosho:
Dear friends, Good evening, I am still in need for a help and I hope that some 
one will have time to help. Trying to adapt the similar command for integers I 
came up with the following;

DivisorsPol:=function( n)

     local divisors, factors,divs;

     factors := Factors ( n );

     # recursive function to compute thedivisors

     divs := function ( i, m )

         if Length(factors(m)) < i     then return [ m ];

         elif Degree(m/factors(i))=0  then return divs(i+1,m*factors[i]);

         else return Concatenation( divs(i+1,m),divs(i+1,m*factors[i]) );

         fi;

    end;

     divisors :=divs( 1, 1);

     Sort( divisors );

     return Immutable(divisors);

end;
Unfortunately it does not work. Any suggestions Please!All the best,Paul.
_______________________________________________
Forum mailing list
Forum@gap-system.org
https://mail.gap-system.org/mailman/listinfo/forum


_______________________________________________
Forum mailing list
Forum@gap-system.org
https://mail.gap-system.org/mailman/listinfo/forum

Reply via email to