<br><br><div class="gmail_quote">On Tue, Feb 5, 2013 at 2:23 PM, Charles R Harris <span dir="ltr">&lt;<a href="mailto:charlesr.harris@gmail.com" target="_blank">charlesr.harris@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br><br>This post is to bring the discussion of PR <a href="https://github.com/numpy/numpy/pull/2965" target="_blank">#2965</a> to the attention of the list. There are at least three issues in play here.<br><br>1) The PR adds modes &#39;big&#39; and &#39;thin&#39; to the current modes &#39;full&#39;, &#39;r&#39;, &#39;economic&#39; for qr factorization. The problem is that the current &#39;full&#39; is actually &#39;thin&#39; and &#39;big&#39; should be &#39;full&#39;. The solution here was to raise a FutureWarning on use of &#39;full&#39;, alias it to &#39;thin&#39; for the time being, and at some distant time change &#39;full&#39; to alias &#39;big&#39;.<br>

 <br>2) The &#39;economic&#39; mode serves little purpose. I propose to deprecate it and add a &#39;qrf&#39; mode instead, corresponding to scipy&#39;s &#39;raw&#39; mode. We can&#39;t use &#39;raw&#39; itself as traditionally the mode may be specified using the first letter only and that leads to a conflict with &#39;r&#39;.<br>

<br>3) As suggested in 2, the use of single letter abbreviations can constrain the options in choosing mode names and they are not as informative as the full name. A possibility here is to deprecate the use of the abbreviations in favor of the full names.<br>

<br>A longer term problem is the divergence between the numpy and scipy versions of qr. The divergence is enough that I don&#39;t see any easy way to come to a common interface, but that is something that would be desirable if possible.<br>

<br>Thoughts?<br><br></blockquote><div><br>bfroehle has suggested the names<br><br>1. <code>complete</code>: <code>Q</code> is a M-by-M matrix, i.e. a complete orthogonal basis.<br>
2. <code>reduced</code>: <code>Q</code> is a M-by-K matrix.<br>
3. <code>r</code>: Only return <code>R</code><br>4. <span style="font-family:courier new,monospace">raw:</span> Return Householder reflectors <span style="font-family:courier new,monospace">Q</span> and <span style="font-family:courier new,monospace">TAU</span><br>
<br>Chuck<br></div><br></div>