Extract linearly independent subset of matrix columns

版本 1.0.3 (1.3 KB) 作者: Matt J
Loop-free code routine to find a maximal subset of linearly independent columns in a matrix
808.0 次下载
更新时间 2020/8/5

查看许可证

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

引用格式

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. 检索时间: .

MATLAB 版本兼容性
创建方式 R2010a
与 R2010a 及更高版本兼容
平台兼容性
Windows macOS Linux
致谢

启发作品: SoRoSim

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0.3

Description update

1.0.2

Description edit

1.0.1

Added example

1.0.0