Home Online Manual
Top
Back: primary_char0
Forward: primary_char0_no_molien
FastBack:
FastForward:
Up: finvar_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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