full rank left annihilator matrix
12 views (last 30 days)
Show older comments
Anamika Anamika
on 23 Nov 2021
Commented: Anamika Anamika
on 24 Nov 2021
Suppose I have a matrix A and I want to find the full rank left annihilator matrix B such that B*A=0. I am using MATLAB.
syms x1 x2 x3 x4 Cdc Cb Lcpl Vfc
A=[Vfc/(x1*Cdc), x4/(x1*Cdc), -x3/Cdc;
0 0 0;
0 0 x1/Lcpl;
0 -1/Cb 0];
0 Comments
Accepted Answer
John D'Errico
on 23 Nov 2021
Edited: John D'Errico
on 23 Nov 2021
Are you asking to find a MATRIX B that will kill off A when you left multiply B*A?
syms x1 x2 x3 x4 Cdc Cb Lcpl Vfc
A=[Vfc/(x1*Cdc), x4/(x1*Cdc), -x3/Cdc;
0 0 0;
0 0 x1/Lcpl;
0 -1/Cb 0];
rank(A)
So A is a 4x3 matrix, that has rank 3. Note that one of the rows of A is entirely zero, so the other three rows of A are independent of each other.
If B left-multiplies A, then B must have size n by 4, since A has 4 rows. Are there ANY row vectors that when multiplied by A will kill it off? That is trivial.
null(A')'
So ANY constant times the vector [0 1 0 0] will trivially kill off A, but NO other vector will do so.
And if B is a matrix, then at most it can be a matrix with only ONE row, since there is only one vector that can kill off A.
B = [0 1 0 0];
B*A
To within a constant multiplier, that is the ONLY full rank matrix B that exists for this purpose. Of course, if some of the unknown parameters are trivially set to zero, then other vectors may still apply. But for general parameters as you have described, this is the ONLY solution. Honestly, this is a conclusion that we could easily have arrived at using only reasoning from linear algebra, once we observed that A has three linearly independent rows. And that is easily seen by inspection.
More Answers (0)
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!