Home Online Manual
Top
Back: sympower
Forward: SLreynolds
FastBack:
FastForward:
Up: invar_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.7.4.6 invar

Procedure from library invar.lib (see invar_lib).

Usage:
invar(<matrix>)

Returns:
If m is a n x n matrix with coefficients in the ring 'group', representing the action on some vector space V, then invar(m); gives polynomials in x(1),x(2),...,x(n) who generate the invariant ring. The following global variables will be set:
polyring of type <ring> polynomial ring in x(1),...,x(n) invring of type <ideal> entries generate the inv. ring representation of type <matrix>
The base ring will be set to 'polyring' which is a global variable representing the polynomial ring on which the group acts. The variable 'representation' will be set to the input m.

Example:
 
LIB "invar.lib";
SL(2);                          // Take the group SL_2
matrix m=dsum(SLrep,SLrep,SLrep,SLrep);
// 4 copies of the standard representation
invar(m);                       // empirical evidence for FFT
==> 
==> Ideal B:
==> x(6)*x(7)-x(5)*x(8)-y(6)*y(7)+y(5)*y(8),
==> x(4)*x(7)-x(3)*x(8)-y(4)*y(7)+y(3)*y(8),
==> x(2)*x(7)-x(1)*x(8)-y(2)*y(7)+y(1)*y(8),
==> x(4)*x(5)-x(3)*x(6)-y(4)*y(5)+y(3)*y(6),
==> x(2)*x(5)-x(1)*x(6)-y(2)*y(5)+y(1)*y(6),
==> x(2)*x(3)-x(1)*x(4)-y(2)*y(3)+y(1)*y(4),
==> x(8)*y(4)*y(5)-x(8)*y(3)*y(6)-x(6)*y(4)*y(7)+x(4)*y(6)*y(7)+x(6)*y(3)*y(8\
   )-x(4)*y(5)*y(8),
==> x(7)*y(4)*y(5)-x(7)*y(3)*y(6)-x(5)*y(4)*y(7)+x(3)*y(6)*y(7)+x(5)*y(3)*y(8\
   )-x(3)*y(5)*y(8),
==> x(8)*y(2)*y(5)-x(8)*y(1)*y(6)-x(6)*y(2)*y(7)+x(2)*y(6)*y(7)+x(6)*y(1)*y(8\
   )-x(2)*y(5)*y(8),
==> x(7)*y(2)*y(5)-x(7)*y(1)*y(6)-x(5)*y(2)*y(7)+x(1)*y(6)*y(7)+x(5)*y(1)*y(8\
   )-x(1)*y(5)*y(8),
==> x(8)*y(2)*y(3)-x(8)*y(1)*y(4)-x(4)*y(2)*y(7)+x(2)*y(4)*y(7)+x(4)*y(1)*y(8\
   )-x(2)*y(3)*y(8),
==> x(7)*y(2)*y(3)-x(7)*y(1)*y(4)-x(3)*y(2)*y(7)+x(1)*y(4)*y(7)+x(3)*y(1)*y(8\
   )-x(1)*y(3)*y(8),
==> x(6)*y(2)*y(3)-x(6)*y(1)*y(4)-x(4)*y(2)*y(5)+x(2)*y(4)*y(5)+x(4)*y(1)*y(6\
   )-x(2)*y(3)*y(6),
==> x(5)*y(2)*y(3)-x(5)*y(1)*y(4)-x(3)*y(2)*y(5)+x(1)*y(4)*y(5)+x(3)*y(1)*y(6\
   )-x(1)*y(3)*y(6)
==> 
==> Zero Fiber Ideal:
==> x(6)*x(7)-x(5)*x(8),
==> x(4)*x(7)-x(3)*x(8),
==> x(2)*x(7)-x(1)*x(8),
==> x(4)*x(5)-x(3)*x(6),
==> x(2)*x(5)-x(1)*x(6),
==> x(2)*x(3)-x(1)*x(4)
==> 
==> Generating Invariants:
==> x(6)*x(7)-x(5)*x(8),
==> x(4)*x(7)-x(3)*x(8),
==> x(2)*x(7)-x(1)*x(8),
==> x(4)*x(5)-x(3)*x(6),
==> x(2)*x(5)-x(1)*x(6),
==> x(2)*x(3)-x(1)*x(4)
setring Invar::polyring;
Invar::reynolds(x(1)*x(4));            // The reynolds operator is computed using
==> -1/2*x(2)*x(3)+1/2*x(1)*x(4)
// the Omega process.