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

D.7.1.21 primary_charp_random

Procedure from library finvar.lib (see finvar_lib).

Usage:
primary_charp_random(REY,ringname,r[,v]);
REY: a <matrix> representing the Reynolds operator,
Finvar::newring: the ring where the Molien series is stored, 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 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 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=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_random(L[1],"",1);
kill Finvar::newring;
print(P);
==> z2,x2+y2,x4+y4-z4