##### 7.7.12.0. IntersectWithSub

Procedure from library `ncdecomp.lib` (see ncdecomp_lib).

Usage:
  IntersectWithSub(M,Z), M an ideal, Z an ideal

Assume:
  Z consists of pairwise commutative elements

Return:
  ideal of two-sided generators, not a Groebner basis

Purpose:
  computes the intersection of M with the subalgebra, generated by Z

Note:
  usually Z consists of generators of the center
  The function `central` from `central.lib` may be used to obtain the center Z, if needed.

Example:

    LIB "ncdecomp.lib";
    ring R=(0,a),(e,f,h),Dp;
    matrix @d[3][3];
    @d[1,2]=-h;   @d[1,3]=2e;   @d[2,3]=-2f;
    def r = nc_algebra(1,@d); setring r; // parametric U(sl_2)
    ideal I = e,h-a;
    ideal C;
    C[1] = h^2-2*h+4*e*f; // the center of U(sl_2)
    ideal X = IntersectWithSub(I,C);
    X;
    ==> X[1]=4*ef+h2-2*h+(-a2-2a)
    ideal G = e*f, h; // the biggest comm. subalgebra of U(sl_2)
    ideal Y = IntersectWithSub(I,G);
    Y;
    ==> Y[1]=h+(-a)
    ==> Y[2]=ef+(-a)

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