## Extract linearly independent subset of matrix columns

Version 1.0.3 (1.3 KB) by
Loop-free code routine to find a maximal subset of linearly independent columns in a matrix

Updated 5 Aug 2020

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,

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

### Cite As

Matt J (2023). 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. Retrieved .

##### MATLAB Release Compatibility
Created with R2010a
Compatible with R2010a and later releases
##### Platform Compatibility
Windows macOS Linux
##### Acknowledgements

Inspired: SoRoSim

### Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.3

Description update

1.0.2

Description edit

1.0.1