#### D.7.1.16 primary_charp

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

Usage:
  primary_charp(REY,ringname[,v]);
  REY: a <matrix> representing the Reynolds operator,
  Finvar::newring: the ring where the Molien series is stored, v: an optional <int>

Assume:
  REY is the first return value of group_reynolds or reynolds_molien and ringname gives the name of a ring of characteristic 0 that has been created by molien or 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 those are chosen as primary invariants that lower the dimension of the ideal generated by the previously found invariants (see paper "Generating a Noetherian Normalization of the Invariant Ring of a Finite Group" by Decker, Heydtmann, Schreyer (1998)).

Example:

    LIB "finvar.lib";
    ring R=3,(x,y,z),dp;
    matrix A[3][3]=0,1,0,-1,0,0,0,0,-1;
    list L=group_reynolds(A);
    molien(L[2..size(L)],"");
    matrix P=primary_charp(L[1],"");
    kill Finvar::newring;
    print(P);
    ==> z2,x2+y2,x2y2

User manual for Singular version 4.4.1, 2025, generated by texi2html.