signum() not in math?

Robin Becker robin at
Sat Oct 13 11:09:18 CEST 2001

In article <3BC7FE9B.CD190C62 at>, Dinu Gherman
<gherman at> writes
>Tim Peters wrote:
>The reason for people not complaining about the absence of the
>sign() function need not necessarily be that they use something
>like tanh() more often (I doubt so), but simply because they 
>can write sign() with far less difficulty than tanh().
that may be so, but while some write this 

def sign(x):
    if x < 0: return -1
    elif x > 0: return 1
    else: return 0

others might use

def sign(x):
    if x<0: return -1
    else: return x>0

only an insider could tell us if the latter is guaranteed always to work
now and forever. If truth gets redefined as -1 then the second would
fail badly.

Also there is controversy about what the sign function should actually

Indeed the matrix sign function is a true heaviside function 
( on each element x the
result is 2*h(x)-1 ie -1 for x<0 and 1 for x>=0.

Probably python should provide both the three value signum and the two
value one and perhaps the sign transfer operation. These are so common
in maths, physics and engineering it seems wrong to have sinh() without
h() et al.
Robin Becker

More information about the Python-list mailing list