Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - English

Change language to:
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 Help >> Linear Algebra > Kernel > rowcomp


row compression, range


[W,rk]=rowcomp(A [,flag [,tol]])



real or complex matrix


optional character string, with possible values 'svd' or 'qr'. The default value is 'svd'.


optional real non negative number. The default value is sqrt(%eps)*norm(A,1).


square non-singular matrix (change of basis)


integer (rank of A)


Row compression of A. Ac = W*A is a row compressed matrix: i.e. Ac=[Af;0] with Af full row rank.

flag and tol are optional parameters: flag='qr' or 'svd' (default 'svd').

tol is a tolerance parameter.

The rk first columns of W' span the range of A.

The rk first (top) rows of W span the row range of A.

A non zero vector x belongs to range(A) iff W*x is row compressed in accordance with Ac i.e the norm of its last components is small w.r.t its first components.


A=rand(5,2)*rand(2,4);              // 4 col. vectors, 2 independent.
svd([Xp(:,1:dim),A])                //span(A) = span(Xp(:,1:dim)
x=A*rand(4,1);                      //x belongs to span(A)
norm(y(dim+1:$))/norm(y(1:dim))     // small

See also

  • colcomp — column compression, kernel, nullspace
  • fullrf — full rank factorization
  • fullrfk — full rank factorization of A^k

Used Functions

The rowcomp function is based on the svd or qr decompositions.

Report an issue
<< range Kernel Linear Equations >>

Copyright (c) 2022-2024 (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:
Tue Feb 14 15:02:43 CET 2017