# Singular

#### D.15.12.24 difformIsSmaller

Procedure from library `difform.lib` (see difform_lib).

Usage:
df < dg OR difformIsSmaller(df,dg,#); df,dg difform, # list

Return:
- 1, if df is smaller than dg with respect to the monomial ordering in the differential algebra - 0, otherwise - 1, if df is smaller than dg with respect to a given monomial ordering on the generators/ringvariables - 0, otherwise

Note:
the procedure uses diffAlgebraChangeOrd to change the order on the differential algebra, therefore an ordering is defined via the following pattern:
- #[i] = 'gen' defines the ordering on the generators dx_i - #[i+1] must then be a valid monomial ordering as string - #[i+2] an optional weight vector
- #[i] = 'ringvar' defines the ordering on the ringvariables - #[i+1] must then be a valid monomial ordering as string - #[i+2] an optional weight vector

Example:
 ```LIB "difform.lib"; ring R = 0,(x,y,z),lp; diffAlgebra(); ==> // The differential algebra Omega_R was constructed and the differential \ forms dx, dy, dz are available. //////////////////////////// // With standard ordering // //////////////////////////// dz < dy; ==> 1 x*dz < y*dz; ==> 0 y2*z2*dy < x; ==> 0 dx*dz < dy; ==> 0 /////////////////////////// // With changed ordering // /////////////////////////// difformIsSmaller(dz,dy,"gen","ls"); ==> 0 difformIsSmaller(x*dz,y*dz,"ringvar","ls"); ==> 1 difformIsSmaller(y2*z2*dy,x,"gen","wp",intvec(1,-1,1)); ==> 1 difformIsSmaller(dx*dz,dy,"gen","ws",intvec(1,-1,-1)); ==> 1 kill Omega_R,dx,dy,dz; ```