#### D.7.1.20 primary_char0_random

Procedure from library `finvar.lib` (see finvar_lib).

Usage:
  primary_char0_random(REY,M,r[,v]);
  REY: a <matrix> representing the Reynolds operator, M: a 1x2 <matrix> representing the Molien series, r: an <int> where -|r| to |r| is the range of coefficients of the random combinations of bases elements, v: an optional <int>

Assume:
  REY is the first return value of group_reynolds or reynolds_molien and M the one of molien or the second one of reynolds_molien

Display:
  information about the various stages of the programme if v does not equal 0

Return:
  primary invariants (type <matrix>) of the invariant ring

Theory:
  Bases of homogeneous invariants are generated successively and random linear combinations are chosen as primary invariants that lower the dimension of the ideal generated by the previously found invariants (see "Generating a Noetherian Normalization of the Invariant Ring of a Finite Group" by Decker, Heydtmann, Schreyer (1998)).

Example:

    LIB "finvar.lib";
    ring R=0,(x,y,z),dp;
    matrix A[3][3]=0,1,0,-1,0,0,0,0,-1;
    matrix REY,M=reynolds_molien(A);
    matrix P=primary_char0_random(REY,M,1);
    print(P);
    ==> z2,x2+y2,x4+y4-z4

User manual for Singular version 4-0-3, 2016, generated by texi2html.