- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am solving a dynamics problem where the mass matrix is ill-conditioned. Its elements are represented in 64-bit IEEE floating point format, and its condition number is 10^11, based on Matlab calculation. Although the matrix is invertible, the dynamic response that I got is not what I expected. Does anybody know any routines that can do matrix inversion and eigenvalue calculation accurately enough for ill-conditioned matrices (regardless of whether it is free or not)?
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In cases when Gaussian elimination or LU decomposition fail to give satisfactory results (your set of equation may be numerically close to singular) the simplest thing is to use the Singular Value Decomposition (SVD). You can eliminate the problem or at least diagnose it. Try to look for SVD (as far as I can remember a nice explanation and routine is in the Numerical Recipes (Fortran 77/90/C++). Other options include some regularized algorithms.
A.
A.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One generalized inverse routine can be found here. Singular Value Decomposition and far more can be downloaded from Lapack at Netlib. Compaq CXML library distributed with CVF contains Lapack so you should find optimized Lapack routines there (but I did not check it out).
Jugoslav
Jugoslav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One generalized inverse routine can be found here. Singular Value Decomposition and far more can be downloaded from Lapack at Netlib. Compaq CXML library distributed with CVF contains Lapack so you should find optimized Lapack routines there (but I did not check it out).
Jugoslav
Jugoslav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your prompt reply. I could not get to this site to send you my reply because Intel has shut it down for maintenance till yesterday. Unfortunately I cannot remove the small eigenvalues of the (mass) matrix because I don't know its effect on the solution of my motion equation. I am trying to convert my routine into quadruple precision, do the inversion, convert output to double precision, hoping I can get better accuracy.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately:-) you will have to (modify your set). As you see yourself some of the values do more harm than good. Naturally, everything depends on the physics and your problem (if it is a sort of inverse analisys you will always have ill-conditioned matrices). You may give a try some iterative regularization algorithms, POD, or something else but each of them modify somehow the original set of equations. Anyway, Jugoslav directed you to the places where you can get the tools you will need.
A.
A.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page