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
引用格式
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 版本兼容性
平台兼容性
Windows macOS Linux标签
致谢
启发作品: SoRoSim
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!