full rank left annihilator matrix

20 Ansichten (letzte 30 Tage)
Anamika Anamika
Anamika Anamika am 23 Nov. 2021
Kommentiert: Anamika Anamika am 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];

Akzeptierte Antwort

John D'Errico
John D'Errico am 23 Nov. 2021
Bearbeitet: John D'Errico am 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.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by