finding Annihilator matrix on the left for a matrix

15 vues (au cours des 30 derniers jours)
Waqar Ahmed
Waqar Ahmed le 18 Août 2021
Modifié(e) : David Goodmanson le 19 Août 2021
I have a matrix A which is m by n. I want to find matrix F which annhilates the matrix A on the left i.e F*A = 0. The book suggest that this can be done if matrix F kernel is in the range of matrix A. How can I implement in Matlab?

Réponses (1)

David Goodmanson
David Goodmanson le 19 Août 2021
Modifié(e) : David Goodmanson le 19 Août 2021
HI Waqar,
The matlab function null(A) creates a matrix such that A*null(A) = 0. But you want the matrix F to multiply A on the left. Replacing A by its transpose, A'*null(A') = 0. Then taking the transpose of that expression, null(A')'*A = 0 . So
F = null(A')' [1]
works. But you also have a choice about the size of F. For example, suppose A is 8x4. The rank of A is the number of linearly independent (LI) columns of A. There are only 4 columns, so rA = rank(A) is at most 4 and could be less.
Since the columns of A have 8 elements, then (regardless of what appears in any matrix), there can be 8 LI columns all together. Suppose rA = 3. This means that one can construct 8-rA = 5 LI column vectors in the so-called null space, each of which can be constructed to be perpendicular to all 3 LI columns in A.
Each of the vectors in the null space is a row of F (so that matrix multiplication F*A works out dimensionally). The F created by [1] has all 5 LI vectors and is 5x8. F*A = 0 and the resultng 0 matrix is 5x4. But every row of F annihilates A independently. Depending on what you want to do, you could use, say, just the third row of F as the new F, in which case F*A = 0 and the resulting 0 matrix is 1x4. Or the first two rows of F as the new F, in which case the resulting 0 matrix is 2x4. Or you can make n linear combinations of the rows of F as the new F, in which case the resulting 0 matrix is nx4.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by