How to get the minimum number of rows that, if removed, reduces the rank.

2 visualizaciones (últimos 30 días)
NA
NA el 28 de Jun. de 2020
Editada: Matt J el 23 de Abr. de 2021
I have a matrix A
How can I get the number of rows that make matrix A rank deficient.
for example
A =[ 6.5480 -6.5480 0.0000 -0.0000
6.5480 -6.5480 0.0000 -0.0000
-6.5480 6.5480 -0.0000 0.0000
-0.0000 0.0000 5.8267 -6.0073
-0.0000 0.0000 5.8267 -6.0073
-0.0000 0.0000 -6.1879 6.3685
0 0 1.0000 0
0 0 0 1.0000]
rank_A =rank(A)
The rank of A is 3, if I remove 3 rows, the rank of the matrix changes to 2.
So, the result should be 3 ---> number of rows

Respuestas (1)

Matt J
Matt J el 28 de Jun. de 2020
Well, if A were full rank, it's rank would be
min(size(A));
So, perhaps you want the difference between this and the actual rank.
  13 comentarios
NA
NA el 23 de Abr. de 2021
If A is
A =[ 6.5480 -6.5480
6.5480 -6.5480
-6.5480 6.5480];
subsets are
subset{:}
ans = 6.5480 -6.5480
ans = 6.5480 -6.5480
ans =-6.5480 6.5480
So numel(subset) is 3,
optimal_numbe_of_removed_rows>=3
I think it should be
Nopt>=size(subset{1},1)
Matt J
Matt J el 23 de Abr. de 2021
Editada: Matt J el 23 de Abr. de 2021
optimal_numbe_of_removed_rows>=3
That's correct. Because rank(A)=1 in your example, the only way to reduce the rank is to remove all 3 rows.

Iniciar sesión para comentar.

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by