Scilab Website | Contribute with GitLab | Scilab Community | ATOMS toolboxes
Scilab Online Help
2026.1.0 - English


sign

signum function

Syntax

X = sign(A)

Arguments

А

matrix of encoded integers, decimal numbers, or complex numbers. A may be sparse.

X

matrix of the same size and data type as A.

Description

If X are integers or real numbers,

  • X(i) = -1 where A(i)<0

  • X(i) = 0 where A(i)==0

  • X(i) = 1 where A(i)>0

  • X(i)= %nan where A(i) is NaN.

If X is complex encoded: sign(A==0) = 0. Elsewhere, sign(A) = A./abs(A).

Examples

With decimal numbers:

m  = [ 1.25  -2.5  -%inf   2.75
       0.     1.    0.75   %inf
       %nan   0.   -1.5   -2.5 ]; m
sign(m)
            --> m  =
               1.25  -2.5  -Inf    2.75
               0.     1.    0.75   Inf
               Nan    0.   -1.5   -2.5
            
            --> sign(m)
             ans  =
               1.   -1.  -1.   1.
               0.    1.   1.   1.
               Nan   0.  -1.  -1.
            

With complex numbers:

i = %i;
c = [-1, -i, -3+4*i
      1,  i,  3+4*i
      3,  0,  3-4*i
     -4, 4*i,-4-3*i ];
c
sign(c)
            --> c  =
              -1.  -i     -3. + 4.i
               1.   i      3. + 4.i
               3.   0.     3. - 4.i
              -4.   4.i   -4. - 3.i
            
            --> sign(c)
             ans  =
              -1.  -i     -0.6 + 0.8i
               1.   i      0.6 + 0.8i
               1.   0.     0.6 - 0.8i
              -1.   i     -0.8 - 0.6i
            

With a sparse matrix:

sign(sprand(8,3,0.3,"normal"))

See also

  • abs — absolute value, magnitude
  • csgn — returns the sign of a vector of real of complex values
  • signm — matrix signum function

History

VersionDescription
6.0 Extension to sparse matrices
Report an issue
<< prod Matrix operations sum >>

Copyright (c) 2022-2026 (Dassault Systèmes S.E.)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue May 19 13:56:03 CEST 2026