full rank left annihilator matrix

13 views (last 30 days)
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];

Accepted Answer

John D'Errico
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)
ans = 3
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')'
ans = 
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
ans = 
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)

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!