Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- ?syrdb arguments issue

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

Pavan_G_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-20-2016
12:03 AM

39 Views

?syrdb arguments issue

There seems to be an inconsistency in the documentation of ?syrdb(https://software.intel.com/en-us/node/469030)

I've attached my program which you are free to change and is written in Fortran 90. It generates a random symmetric matrix A and tries to reduce it to the banded matrix B, of specified bandwidth. Make sure to compile it with the -mkl flag

On setting the flag *jobz* to 'U', I am expected to

- A is supposed to be overwritten by the banded matrix B. It doesn't seem to be the case as I still get a full matrix.
- The documentation says it will be overwritten by Q
_{B }as well, which doesn't make sense as there is one matrix already. - Z is written by Q - which is correct as Q
^{T}AQ gives me a tridiagonal matrix.

I would like access to Q_{B} such that Q^{T}_{B}AQ_{B }= B. Could you look into the algorithm (and my program if necessary) to find out the issue?

Link Copied

4 Replies

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-20-2016
08:13 AM

39 Views

Many Lapack routines use rather complex but compact representations of matrices. If that is not kept in mind, the documentation can be confusing. Because of the various combinations of options such as UPLO and JOBZ, there is a single subroutine with different personalities whose descriptions gets interwoven and, again, this can be confusing.

In the case of ?syrdb, the given symmetric matrix A is first reduced to a band matrix B and then to a tridiagonal matrix T. I think that you confuse B with T -- the former is an intermediate result that you probably have no use for, and the latter is not returned as a two-dimensional array, as one may reasonably expect, but as a pair of one-dimensional arrays, D(:) and E(:).

Along the same lines, a phrase such as "`A` is reduced to `T`" describes what the algorithm does, and should not be understood to say "`A` is replaced by `T`" at exit.

Pavan_G_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-20-2016
10:58 AM

39 Views

I think that you confuse B with T -- the former is an intermediate result that you probably have no use for

No. That is exactly what I am looking for. I need an algorithm which uses a set of orthogonal transformations to reduce a full matrix to a banded matrix of specific bandwidth.

Is there a way in which I can recover B from the `dsyrdb` routine? There should be if the routine behaves in the way it is in the documentation

If

`jobz = 'N'`

or`'U'`

, then overwritten by the banded matrixBand details of the orthogonal matrixQBto reduceAtoBas specified by uplo.

Neither do I see B nor do I see Q_{B}. I don't understand what the documentation means by 'the banded matrix and details' overwritten to the same matrix.

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-20-2016
12:16 PM

39 Views

Pavan_G_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-20-2016
12:29 PM

39 Views

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

For more complete information about compiler optimizations, see our Optimization Notice.