# Singular          #### D.12.5.14 localstd

Procedure from library `teachstd.lib` (see teachstd_lib).

Usage:
localstd(id); id = ideal

Return:
A standard basis for a local degree ordering, using Lazard's method.

Note:
The procedure homogenizes id w.r.t. a new 1st variable local@t, computes a SB w.r.t. (dp(1),dp) and substitutes local@t by 1. Hence the result is a SB with respect to an ordering which sorts first w.r.t. the subdegree of the original variables and then refines it with dp. This is the local degree ordering ds.
localstd may be used in order to avoid cancellation of units and thus to be able to use option(contentSB) also for local orderings.

Example:
 ```LIB "teachstd.lib"; ring R = 0,(x,y,z),ds; ideal i = xyz+z5,2x2+y3+z7,3z5+y5; localstd(i); ==> _=y5+3z5 ==> _=3x4y3z8-4x3y3z9+6x2y4z9+3y5z10 ==> _=3x4z13-4x3z14+6x2yz14+3y2z15 ==> _=3x4yz12-4x3yz13+6x2y2z13+3y3z14 ==> _=2x2z9+x2y2z8+y3z9 ==> _=2x2y4z5+y7z5-3x2yz9 ==> _=6y2z10-3x2y3z8+4xy3z9-3y4z9 ==> _=3x2y2z8+3y3z9+2xy4z8 ==> _=18z14-4xy6z8+3y7z8-9x2yz12 ==> _=xyz+z5 ==> _=3xz6-y4z5 ==> _=3y3z6+2xy4z5-3xyz9 ==> _=y4z5-2xz9-xy2z8 ==> _=3z10+2xyz9+xy3z8 ==> _=2x2z5+y3z5-xyz8 ==> _=y4z-2xz5+yz8 ==> _=3z6+2xyz5-y2z8 ==> _=2x2+y3+z7 ```

### Misc 