<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic DORGQR  First dimension of matrix A. in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DORGQR-First-dimension-of-matrix-A/m-p/817901#M4442</link>
    <description>I do not understand why you want to form Q explicitly at the same time that you are trying to avoid forming B in full.&lt;BR /&gt;&lt;BR /&gt;Let B = [b1 b2 b3 ... ], Y = [y1 y2 y3 ...], e = [e1 e2 e3 ... ]&lt;BR /&gt;&lt;BR /&gt;where b1, b2, b3... are individual columns of B or, at your choosing, groups of columns that you are willing to process together.&lt;BR /&gt;&lt;BR /&gt;You call DGEQRF once to perfom the QR decomposition of X, with Q stored implicitly in the result.&lt;BR /&gt;&lt;BR /&gt;You then call DORMQR to solve for b1, which you then use to compute e1 = X b1 - y1, and similarly for e2, e3, ... For this to work, you need to save a copy of X before the call to DGEQRF, which overwrites X. Or, it may be just as easy to regenerate the necessary portions of X.&lt;BR /&gt;&lt;BR /&gt;Would this approach satisfy your needs?&lt;BR /&gt;&lt;BR /&gt;Minor note: you have inconsistent signs for the error matrix e in your post.</description>
    <pubDate>Tue, 24 May 2011 14:32:31 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2011-05-24T14:32:31Z</dc:date>
    <item>
      <title>DORGQR  First dimension of matrix A.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DORGQR-First-dimension-of-matrix-A/m-p/817900#M4441</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;Hi All.&lt;/DIV&gt;&lt;DIV&gt;I have multiple regression model X * B = Y + e, where X - Txm, B - mxn, Y and e - Txn and I want to get residuals "e", without actualy calculation B. So I want to use QR decomposition of matrix X, and do it as following: e = Y - Q *(Q'*Y); So I want to use DORGQR twice. Assume, we use all elementary reflectors, and Q is Txm matrix.&lt;/DIV&gt;&lt;DIV&gt;Everything ok with the first call, I get Q'Y which is mxn matrix. But there is a problem with second call, in accordance with the article:&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm#lse/functn_ormqr.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm#lse/functn_ormqr.htm&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;I don't have any way to specify the number of rows in matrix Q. In section "Fortran 95 Interface Notes" (it's not very clear for me, why here) I see the note:&lt;/DIV&gt;&lt;DIV&gt;a:&lt;/DIV&gt;&lt;DIV&gt;Holds the matrix A of size (r,k).&lt;/DIV&gt;&lt;DIV&gt;r = m if side = 'L'.&lt;/DIV&gt;&lt;DIV&gt;r = n if side = 'R'&lt;/DIV&gt;&lt;DIV&gt;So I just want to multiply Q (Txm) and Q'R (mxn), but routine automatically assumes that Q is mxk which is definitely not what I want. May be somebody can give me a hint? What I'm doing wrong? Extraction Q matrix explicitly doesn't seem to be a good solution for me, I want to reduce memory usage.&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 23 May 2011 21:43:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DORGQR-First-dimension-of-matrix-A/m-p/817900#M4441</guid>
      <dc:creator>wisdoms_wind</dc:creator>
      <dc:date>2011-05-23T21:43:05Z</dc:date>
    </item>
    <item>
      <title>DORGQR  First dimension of matrix A.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DORGQR-First-dimension-of-matrix-A/m-p/817901#M4442</link>
      <description>I do not understand why you want to form Q explicitly at the same time that you are trying to avoid forming B in full.&lt;BR /&gt;&lt;BR /&gt;Let B = [b1 b2 b3 ... ], Y = [y1 y2 y3 ...], e = [e1 e2 e3 ... ]&lt;BR /&gt;&lt;BR /&gt;where b1, b2, b3... are individual columns of B or, at your choosing, groups of columns that you are willing to process together.&lt;BR /&gt;&lt;BR /&gt;You call DGEQRF once to perfom the QR decomposition of X, with Q stored implicitly in the result.&lt;BR /&gt;&lt;BR /&gt;You then call DORMQR to solve for b1, which you then use to compute e1 = X b1 - y1, and similarly for e2, e3, ... For this to work, you need to save a copy of X before the call to DGEQRF, which overwrites X. Or, it may be just as easy to regenerate the necessary portions of X.&lt;BR /&gt;&lt;BR /&gt;Would this approach satisfy your needs?&lt;BR /&gt;&lt;BR /&gt;Minor note: you have inconsistent signs for the error matrix e in your post.</description>
      <pubDate>Tue, 24 May 2011 14:32:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DORGQR-First-dimension-of-matrix-A/m-p/817901#M4442</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-05-24T14:32:31Z</dc:date>
    </item>
  </channel>
</rss>

