- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The call is:
use lapack95
REAL(8) R(MD,MD),E(MD),V(MD,MD),E1(MD),V1(MD,MD)
REAL(8) AP(MD*MD)
E1=0.
V1=0.
K=1
DO J=1,MD
DO I=J,MD
AP(K)=R(I,J)
K=K+1
END DO
END DO
CALL spevd(AP,E1,'L',V1,INFO)
where md is 21.
The documentaed call is:
Fortran 95:
call spevd(ap, w [,uplo] [,z] [,info])
and additionally states later:
Specific details for the routine spevd interface are the following:
ap Holds the array A of size (n*(n+1)/2).
w Holds the vector with the number of elements n.
z Holds the matrix Z of size (n, n).
uplo Must be 'U' or 'L'. The default value is 'U'.
jobz Restored based on the presence of the argument z as follows:
jobz = 'V', if z is present,
jobz = 'N', if z is omitted.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you provide a complete, self-contained example that exhibits the problem, I can look at it. On the other hand, code fragments with unknown argument values are not enough to get started with probing for causes of aborts.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, in building a complete example, I discoved that the AP argument must be passed with the exact dimension, i.e. AP(md*(md+1)/2) in my case. This is understandable, and I should have realized it sooner.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The info argument returns the number of argument of original Fortran 77 interface. So the argument -7 corresponds here to LDZ argument that is skipped in the Fortran 95 interface.
And really, at least does not apply to Fortran 95 arrays. All F95 arrays must have exact dimensions. MKL documentation claims:
Input arguments such as array dimensions are not required in Fortran95 and are skipped from the calling sequence. Array dimensions are reconstructed from the user data that must exactly follow the required array shape.
Thanks,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MKL *spevd there is a slow function. It is better to use algorithms of diagonalization for square matrixes. See http://software.intel.com/en-us/forums/showthread.php?t=76595&o=d&s=lr

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