Can a controllable matrix become uncontrollable due to matrix transformations?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Zeff020
el 9 de Dic. de 2017
Comentada: Zeff020
el 10 de Dic. de 2017
I don't think it can because I don't think matrix transformations change linear independence of this matrix. However, I just tried some things in Matlab and it appears that the determinant can change due to transformations. If this determinant could become zero in this way, the system would be uncontrollable. Is this possible?
0 comentarios
Respuesta aceptada
Jan
el 10 de Dic. de 2017
Editada: Jan
el 10 de Dic. de 2017
In theory, these modifications of the matrix cannot change the value of the determinant to 0, if it was not 0 before: swapping rows or columns, multiplying rows or columns by a factor, adding the value of one row or column to another. This is the definition of "linear independent".
But if you work with double precision on a computer, rounding effects limit the reliability:
X = [0.01, 0.003, 0; ...
0.1, 0.01, 0; ...
0, 0, 0.005];
det(X) % -1e-06
det(X ^ 2) % 1e-12 as expected
det(X ^ 30) % 0 rounding effect
Another example:
X = rand(5, 5); % Usually not singular
d1 = det(X)
X(:, 3) = X(:, 3) + pi * X(:, 2)
d2 = det(X)
d1 - d2 % Small, but not necessarily exactly 0.0 due to rounding
But:
X = [1, 0; ...
1, 1]
det(X) % 1
X(:, 2) = X(:, 2) + 1e17 * X(:, 1)
det(X) % 0 !!!
This happens because 1e17+1 cannot be distinguished from 1e17+0, because doubles have about 16 digits only.
Más respuestas (1)
David Goodmanson
el 9 de Dic. de 2017
Editada: David Goodmanson
el 9 de Dic. de 2017
Hello Z,
You don't say what kind of transformations you have in mind. but generally
det(B*A) = det(B)*det(A) det(A*C) = det(A)*det(C)
so if A is nonsingular, det(A)~=0, then the only way to make det of the matrix product = 0 is if one of the matrices you are multiplying by has det = 0. For transformations such as rotations, that does not happen. But as a 2d example the projection operator P = [1 0; 0 0] projects 2d vectors onto the x axis. Once that is done you can't get the y component back. Accordingly det(P) = 0 and det(P*A) = 0.
2 comentarios
Walter Roberson
el 9 de Dic. de 2017
Also note that the above formulas reflect theory. In practice, the different computations will have different floating point round-off effects, and sometimes computations that in theory give symmetric matrices in practice do not do so because of round-off.
Ver también
Categorías
Más información sobre Stability Analysis 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!