Check if nullspace is contained in another + finding intersection of 2 nullspaces.
6 ビュー (過去 30 日間)
古いコメントを表示
1) How to check (return true) if the nullspace of A is contained in the nullspace of B?
2) How to find the intersection of nullspaces of A and B?
Thanks!
2 件のコメント
Walter Roberson
2021 年 2 月 27 日
normalize each null vector. ismembertol 'byrows' of the transpose of the null spaces. (Convention is that the null vectors are presented as columns.)
Matt J
2021 年 2 月 27 日
編集済み: Matt J
2021 年 2 月 27 日
Unfortunately, ismembertol will not work. As the following example shows, the basis vectors returned by null(A) need not be a subset of the basis vectors returned by null(B), even if the nullspace of A is contained in the nullspace of B.
A=[-1 -1 1; 1 1 1];
B=[0,0,1];
null(A).'
null(B).'
回答 (2 件)
Bruno Luong
2021 年 2 月 27 日
編集済み: Bruno Luong
2021 年 2 月 27 日
First question:
KA = null(A);
KB = null(B);
% Check span KA is included in span KB
PKA = KB*(KB'*KA); % Projection KA on span KB
ResA = PKA-KA; % Projection KA on orthogonal span KB
tol = 1e-9*sqrt(size(KA,1));
KAinKB = all(vecnorm(ResA,2,1)<tol)
The itersection has basis
null([A; B])
So you can also find the firs question by
size(null([A; B]),2) == size(null(B),2)
0 件のコメント
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!