You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
D = A;
V = eye(size(A));
for i = 0:30
[Q, R] = qr(D);
D = R * Q;
V = V * Q;
end
Matlab implementation provides me with the correct eigenvalues and eigenvectors.
In CMSIS during convergence the eigenvalues on the diagonal of R seem to miss the correct eigenvalues and converge towards the Identity Matrix rapidly during the first 2 iterations. Eigenvectors also disappear quickly, but when they are still there only the first column matches with Matlab.
I think that the algorithm with my current parameters is to aggressive. Do I maybe have to adjust the threshold, TmpA and TmpB?
If so, then how?
With regards
Dominik Rzecki
The text was updated successfully, but these errors were encountered:
The arm_mat_qr_f32 function works flawlessly indeed.
It seems that gcc with optimizations enabled has reordered my code in a way that breaks it's logic, because some class didn't have a properly implemented constructor. It even made the qr algorithm behave differently.
Hello,
I have a question regarding the implementation of the qr algorithm.
I am trying to compute the eigenvalues and eigenvectors of a matrix.
where arm_mat_qr is:
Matlab:
Matlab implementation provides me with the correct eigenvalues and eigenvectors.
In CMSIS during convergence the eigenvalues on the diagonal of R seem to miss the correct eigenvalues and converge towards the Identity Matrix rapidly during the first 2 iterations. Eigenvectors also disappear quickly, but when they are still there only the first column matches with Matlab.
I think that the algorithm with my current parameters is to aggressive. Do I maybe have to adjust the threshold, TmpA and TmpB?
If so, then how?
With regards
Dominik Rzecki
The text was updated successfully, but these errors were encountered: