MATLAB Answers

Check if nullspace is contained in another + finding intersection of 2 nullspaces.

32 ビュー (過去 30 日間)
Aayush Mathur
Aayush Mathur 2021 年 2 月 26 日
編集済み: Bruno Luong 2021 年 2 月 27 日
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 件のコメント
Matt J
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).'
ans = 1×3
0.7071 -0.7071 -0.0000
null(B).'
ans = 2×3
0 1 0 -1 0 0

サインインしてコメントする。

回答 (2 件)

Matt J
Matt J 2021 年 2 月 27 日
編集済み: Matt J 2021 年 2 月 27 日
Hints:
(1) Consider [null(A), null(B)]
(2) Consider [A;B]

Bruno Luong
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)

カテゴリ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by