- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an application that requires no pivoting when computing the LU decomposition of a general matrix, the routine that I have worked with to do the LU decomp of a general matrix is pzgetrf, but this does partial (row) pivoting. I tried disabling the routines pzlaswp.f (SCALAPACK routine) and pzswap_.c (PBLAS routine) but this was insufficient. Does anyone know of a routine that handles general matricies and does not pivot (handling symmetric - general matricies would be ideal, but is not absolutely necessary) or of a way to disable the pivoting in pzgetrf ?
Thanks for any help.
Jim
Thanks for any help.
Jim
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you mean dpotrf or dpptrf ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - tim18
Do you mean dpotrf or dpptrf ?
dpotrf (dpptrf is a packed version of dpotrf I believe) requires the matrix be hermitian positive definite (at least the comments in pzpotrf which I think is the SCALAPACK version of dpotrf). My matrix is does not meet this requirement, it is a general matrix that care was taken when forming it so that it should be reasonably well conditioned, thus pivoting is not necessary, and since it is symmetric, partial (row) pivoting would destroy the symmetry. The only routine I have seen for LU decomp of a general matrix is pzgetrf, which does row pivoting. From what I can tell pzgetf2 (called by pzgetrf) calls a routine pzamax to find the pivot, what I think I need is a way for pzamax to return with the values that indicate not to pivot.
Thanks for any help
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is really a problem. In fact, I found that the "lu" function in Matlab can calculate the LU decomposition without pivoting. Although I think Matlab use the lapack subroutines to perform the calculation, I cannot find the name of the corresponding subroutine.
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