Can a controllable matrix become uncontrollable due to matrix transformations?

5 次查看(过去 30 天)
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?

采纳的回答

Jan
Jan 2017-12-10
编辑:Jan 2017-12-10
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.
  1 个评论
Zeff020
Zeff020 2017-12-10
Thanks for the clear explanation, I'll mostly be working with rounded off values so I don't think the precision will be a problem. Thanks!

请先登录,再进行评论。

更多回答(1 个)

David Goodmanson
David Goodmanson 2017-12-9
编辑:David Goodmanson 2017-12-9
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 个评论
Walter Roberson
Walter Roberson 2017-12-9
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.
Zeff020
Zeff020 2017-12-10
编辑:Zeff020 2017-12-10
I'm sorry, I don't think I'm on the same level of math literacy as you are so I don't fully understand your explanation. What I meant to ask was: If you multiply a row in a matrix by a certain value, or if you switch two rows around, or if you add one row to the other one, does this change the controllability?
Actually I think I figured it out myself yesterday by the way, because a matrix is controllable when it is linearly independent or det is not equal to 0. Well, you can't change the linear independence of the matrix due to the transformations I cited earlier, right?
Thanks for the earlier responses by the way!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Stability Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by