Turn on suggestions

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
- from explicit QR to compact form?

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

Azua_Garcia__Giovann

Beginner

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

03-23-2012
12:28 PM

57 Views

from explicit QR to compact form?

I use LAPACK_dgeqrf to compute QR factorization and this one returns a compact representation in which the Q is not formed explicitly (I believe is in the WY compact form), then I use the documented two methods to use such compact QR to solve systems of equations.

I found an algorithm that updates the QR when blocks of rows are added to the corresponding matrix but this algorithm gives back a Q and R explicitly. Now I need to convert these explicitly formed Q and R into the compact form needed to interface with MKL or LAPACK.

Are there helper MKL functions to create the compact representation given the explicit Q and R?

TIA,

Best regards,

Giovanni

Link Copied

2 Replies

Alexander_K_Intel3

Employee

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

03-29-2012
09:09 PM

57 Views

You could obtain the WY representation of explicitly formed Q by running DGEQRF on the Q. It will return you R equal to identity matrix and the same Q butin the compact form.

W.B.R.,

Alexander

Azua_Garcia__Giovann

Beginner

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

03-30-2012
01:27 AM

57 Views

Thank you, that's smart :) a good tip indeed but I meant implicitly not having to recompute the QR from scratch. In any case I understood the in and outs of the representation so I would be able to modify it myself directly with updates i.e.

upper trapezoidal: R (including the diagonal)

lower: the householder/givens rotator column vectors v_i

tau: the householder coeffiencients t_i

I can build H = I - t_i*(v_i*v_i') this last bit is an outer product that makes a matrix.

I kind of started to understand how to manually update the QR addrows, addcols, delcols. My problem is translating whatever algorithm I can think of into something that can be most efficiently integrated with MKL.

There are some implementations I know:

http://www.maths.manchester.ac.uk/~clucas/updating/

but have had trouble integrating it, and besides they are general and my case is simpler e.g. my addcols is always append column at the end.

Best regards,

Giovanni

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

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