Extract linearly independent subset of matrix columns

Version 1.0.3 (1,3 KB) von Matt J
Loop-free code routine to find a maximal subset of linearly independent columns in a matrix
749 Downloads
Aktualisiert 5 Aug 2020

Lizenz anzeigen

This submission is a very simple code routine that I have used for many years for finding a maximal subset of linearly independent columns of a matrix. It is based on an old conversation with Bruno Luong, which has recently resumed here,

https://www.mathworks.com/matlabcentral/answers/574543-algorithm-to-extract-linearly-dependent-columns-in-a-matrix#answer_474601

and where he gives some mathematical explanation behind the method. I post this here for ease of reference, as it seems to be a frequently sought tool by Matlab Community members.

USAGE:

Extract a linearly independent set of columns of a given matrix X

[Xsub,idx]=licols(X)

in:

X: The given input matrix
tol: A rank estimation tolerance. Default=1e-10

out:

Xsub: The extracted columns of X
idx: The indices (into X) of the extracted columns

EXAMPLE:

>> A=eye(3); A(:,3)=A(:,2)

A =

1 0 0
0 1 1
0 0 0

>> [X,idx]=licols(A)

X =

1 0
0 1
0 0

idx =

1 2

Zitieren als

Matt J (2024). Extract linearly independent subset of matrix columns (https://www.mathworks.com/matlabcentral/fileexchange/77437-extract-linearly-independent-subset-of-matrix-columns), MATLAB Central File Exchange. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R2010a
Kompatibel mit R2010a und späteren Versionen
Plattform-Kompatibilität
Windows macOS Linux
Quellenangaben

Inspiriert: SoRoSim

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0.3

Description update

1.0.2

Description edit

1.0.1

Added example

1.0.0