# abs

From ASCEND

The **abs** function in ASCEND returns the absolute value of its argument. This function should be used with caution in models because, being a non-smooth function, it can damage the convergence of many of the Newton-based solver algorithms, such as QRSlv.

## Useful tricks with `abs`

Using the `abs` function, it is possible to produce makeshift `min` and `max` behaviour using ASCEND relations. For example,

a,b IS_A factor; min, max IS_A factor; max = a + ((b-a) + abs(b-a))/2; min = a + ((b-a) - abs(b-a))/2;

See also conditional modelling for more complex syntax for this kind of 'conditional' behaviour.