フィルターのクリア

Help me about matrix in Matlab ?

2 ビュー (過去 30 日間)
Nguyen Trong Nhan
Nguyen Trong Nhan 2013 年 12 月 30 日
編集済み: Nguyen Trong Nhan 2013 年 12 月 30 日
Give a square matrix A. For k is positive integer. Find k that A^k = 0. (I'm Vietnamese, I don't know How to call k in English). Could you please help me write the code to find k.
Thanks you very much.
  4 件のコメント
Image Analyst
Image Analyst 2013 年 12 月 30 日
You said "Give a square matrix A". Well how about if I give you an A that is all zeros?
Walter Roberson
Walter Roberson 2013 年 12 月 30 日
Roger, it can happen in floating point arithmetic, though not algebraically. For example,
diag(rand(1,5))
raised to a large enough power will underflow to all 0's.
For example,
A = diag([0.757740130578333, 0.743132468124916, 0.392227019534168, 0.655477890177557, 0.171186687811562]);
is last non-zero at A^2685

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2013 年 12 月 30 日
There is in general no solution for this. If you do a singular value decomposition
[U,S,V] = svd(A);
then A = U * S * V' where S is a diagonal matrix, and A^k = U * S^k * V' . Then, A^k can only go to zero if S^k goes to 0. Algebraically that requires that the matrix be singular in the first place. In floating point arithmetic, it would require that the diagonal of the diagonal matrix S be all in (-1,+1) (exclusive on both ends) and then k would be the point at which the diagonal elements underflowed to 0. As the non-zero diagonal S entries of SVD are the square roots of the eigenvalues of A, this in turn requires that the eigenvalues are all strictly in the range (0,1) -- which is certainly not true for general matrices A.
  1 件のコメント
Roger Stafford
Roger Stafford 2013 年 12 月 30 日
編集済み: Roger Stafford 2013 年 12 月 30 日
No, that isn't true for 'svd' in general, Walter. It does hold true for 'eig' when it can obtain a complete set of orthogonal eigenvectors and eigenvalues.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSparse Matrices についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by