Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.0 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Linear Algebra > Eigenvalue and Singular Value > svd


singular value decomposition

Calling Sequence

[U,S,V]=svd(X,0) (obsolete)
[U,S,V,rk]=svd(X [,tol])



a real or complex matrix


real vector (singular values)


real diagonal matrix (singular values)


orthogonal or unitary square matrices (singular vectors).


real number


[U,S,V] = svd(X) produces a diagonal matrix S , of the same dimension as X and with nonnegative diagonal elements in decreasing order, and unitary matrices U and V so that X = U*S*V'.

[U,S,V] = svd(X,0) produces the "economy size" decomposition. If X is m-by-n with m > n, then only the first n columns of U are computed and S is n-by-n.

s= svd(X) by itself, returns a vector s containing the singular values.

[U,S,V,rk]=svd(X,tol) gives in addition rk, the numerical rank of X i.e. the number of singular values larger than tol.

The default value of tol is the same as in rank.



See Also

  • rank — rank
  • qr — QR decomposition
  • colcomp — column compression, kernel, nullspace
  • rowcomp — row compression, range
  • sva — singular value approximation
  • spec — eigenvalues of matrices and pencils

Used Functions

svd decompositions are based on the Lapack routines DGESVD for real matrices and ZGESVD for the complex case.

Report an issue
<< sva Eigenvalue and Singular Value Factorization >>

Copyright (c) 2022-2023 (Dassault Systèmes)
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:
Fri Apr 11 14:19:37 CEST 2014