# Singular

#### D.15.32.1 prwalk

Procedure from library `rwalk.lib` (see rwalk_lib).

Syntax:
if size(#)>0 then rwalk(ideal i, int radius, intvec v, intvec w);

Type:
ideal

Purpose:
compute the standard basis of the ideal, calculated via the Random Perturbation Walk algorithm from the ordering "(a(v),lp)", "dp", "Dp" or "M"
to the ordering "(a(w),lp)", "(a(1,0,...,0),lp)" or "M".

Example:
 ```LIB "rwalk.lib"; // compute a Groebner basis of I w.r.t. lp. ring r = 32003,(z,y,x), lp; ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z; int radius = 1; int o_perturb_deg = 2; int t_perturb_deg = 2; prwalk(I,radius,o_perturb_deg,t_perturb_deg); ==> _[1]=y9-y7x2-y7x-y6x3-y6x2-3y6-3y5x-y3x7-3y3x6-3y3x5-y3x4-9y2x5-18y2x4-9y\ 2x3-27yx3-27yx2-27x ==> _[2]=zx+8297y8x2+8297y8x+3556y7-8297y6x4+15409y6x3-8297y6x2-8297y5x5+1540\ 9y5x4-8297y5x3+3556y5x2+3556y5x+3556y4x3+3556y4x2-10668y4-10668y3x-8297y2\ x9-1185y2x8+14224y2x7-1185y2x6-8297y2x5-14223yx7-10666yx6-10666yx5-14223y\ x4+x5+2x4+x3 ==> _[3]=zy2+yx2+yx+3 ```