| #### 7.10.6.32 ncrepPencilGet Procedure from library `ncrat.lib` (see ncrat_lib). Usage: list pencil = ncrepPencilGet(r, vars); Return: pencil = list(vars, matrices), where vars = list(1, x1, ..., xg) are the variables occurring in r and matrices = (Q0, ..., Qg) is a list of matrices such that r.mat = Q0 * x0 + ... + Qg * xg with x0 = 1 Note: list vars = list(x1, ..., xn) has to consist exactly of the nc variables occurring in f Example:
    LIB "ncrat.lib";
    ncInit(list("x", "y"));
    ncrat f = ncratFromString("x*y");
    ncrep r = ncrepGet(f);
    print(r.mat);
    ==> 0, 0, x, -1,
    ==> 0, 1, -1,0,
    ==> y, -1,0, 0,
    ==> -1,0, 0, 0
    list l = ncrepPencilGet(r, list(x, y));
    print(l[1]);
    ==> [1]:
    ==>    1
    ==> [2]:
    ==>    x
    ==> [3]:
    ==>    y
    print(l[2][1]);
    ==> 0, 0, 0, -1,
    ==> 0, 1, -1,0,
    ==> 0, -1,0, 0,
    ==> -1,0, 0, 0
    print(l[2][2]);
    ==> 0,0,1,0,
    ==> 0,0,0,0,
    ==> 0,0,0,0,
    ==> 0,0,0,0
    print(l[2][3]);
    ==> 0,0,0,0,
    ==> 0,0,0,0,
    ==> 1,0,0,0,
    ==> 0,0,0,0

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