MATLAB Answers

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

32 views (last 30 days)
Aayush Mathur
Aayush Mathur on 26 Feb 2021
Edited: Bruno Luong on 27 Feb 2021
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 Comments
Matt J
Matt J on 27 Feb 2021
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

Sign in to comment.

Answers (2)


Bruno Luong
Bruno Luong on 27 Feb 2021
Edited: Bruno Luong on 27 Feb 2021
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)

Products

Community Treasure Hunt

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

Start Hunting!

Translated by