# Singular

#### D.15.31.4 modJanet

Procedure from library `rstandard.lib` (see rstandard_lib).

Usage:
modJanet(I,i); I is an ideal, i an integer (optional).

Return:
ideal, a Janet basis for I using modular methods.

Purpose:
Computes a Janet basis for the ideal given by the generators in I using modular techniques.
If second argument is 0 then the result is not verified.

Example:
 ```LIB "rstandard.lib"; ring R=0,(t,x,y,z),ds; ideal i= 5t3x2z+2t2y3x5, 7y+4x2y+y2x+2zt, 3tz+3yz2+2yz4; ideal j=modJanet(i); j; ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> Length of Janet basis: 3 ==> j[1]=y ==> j[2]=tz ==> j[3]=ty ring S=0,(x,y,z),dp; poly p1 =x2y*(47x5y7z3+28xy5z8+63+91x5y3z7); poly p2 =xyz*(57y6+21x2yz9+51y2z2+15x2z4); poly p3 =xy4z*(74y+32x6z7+53x5y2z+17x2y3z); poly p4 =y3z*(21x2z6+32x10y6z5+23x5y5z7+27y2); poly p5 =xz*(36y2z2+81x9y10+19x2y5z4+79x4z6); ideal i =p1,p2,p3,p4,p5; ideal j=modJanet(i,0); j; ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> Length of Janet basis: 9 ==> j[1]=x2y ==> j[2]=x3y ==> j[3]=x4y ==> j[4]=y5z ==> j[5]=x5y ==> j[6]=xy3z3 ==> j[7]=xy5z ==> j[8]=xy4z3 ==> j[9]=x5z7+36/79xy2z3 ```