<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 10.2.0" />
<title>LAPACK 3.11.0</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;
}

/* Title font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
#toctitle,
#author, #revnumber, #revdate, #revremark,
#footer {
  font-family: Arial,Helvetica,sans-serif;
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}
h5 {
  font-size: 1.0em;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

.monospaced, code, pre {
  font-family: "Courier New", Courier, monospace;
  font-size: inherit;
  color: navy;
  padding: 0;
  margin: 0;
}
pre {
  white-space: pre-wrap;
}

#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
#email {
}
#revnumber, #revdate, #revremark {
}

#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #888;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; vertical-align: text-bottom; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}

div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  min-width: 100px;
}

div.colist td {
  padding-right: 0.5em;
  padding-bottom: 0.3em;
  vertical-align: top;
}
div.colist td img {
  margin-top: 0.3em;
}

@media print {
  #footer-badges { display: none; }
}

#toc {
  margin-bottom: 2.5em;
}

#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}

span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }

span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }

span.big { font-size: 2em; }
span.small { font-size: 0.6em; }

span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

div.unbreakable { page-break-inside: avoid; }


/*
 * xhtml11 specific
 *
 * */

div.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.tableblock > table {
  border: 3px solid #527bbd;
}
thead, p.table.header {
  font-weight: bold;
  color: #527bbd;
}
p.table {
  margin-top: 0;
}
/* Because the table frame attribute is overridden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
  border-style: none;
}
div.tableblock > table[frame="hsides"] {
  border-left-style: none;
  border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
  border-top-style: none;
  border-bottom-style: none;
}


/*
 * html5 specific
 *
 * */

table.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
thead, p.tableblock.header {
  font-weight: bold;
  color: #527bbd;
}
p.tableblock {
  margin-top: 0;
}
table.tableblock {
  border-width: 3px;
  border-spacing: 0px;
  border-style: solid;
  border-color: #527bbd;
  border-collapse: collapse;
}
th.tableblock, td.tableblock {
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #527bbd;
}

table.tableblock.frame-topbot {
  border-left-style: hidden;
  border-right-style: hidden;
}
table.tableblock.frame-sides {
  border-top-style: hidden;
  border-bottom-style: hidden;
}
table.tableblock.frame-none {
  border-style: hidden;
}

th.tableblock.halign-left, td.tableblock.halign-left {
  text-align: left;
}
th.tableblock.halign-center, td.tableblock.halign-center {
  text-align: center;
}
th.tableblock.halign-right, td.tableblock.halign-right {
  text-align: right;
}

th.tableblock.valign-top, td.tableblock.valign-top {
  vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
  vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
  vertical-align: bottom;
}


/*
 * manpage specific
 *
 * */

body.manpage h1 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top: 2px solid silver;
  border-bottom: 2px solid silver;
}
body.manpage h2 {
  border-style: none;
}
body.manpage div.sectionbody {
  margin-left: 3em;
}

@media print {
  body.manpage div#toc { display: none; }
}


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
    // Function that scans the DOM tree for header elements (the DOM2
    // nodeIterator API would be a better technique but not supported by all
    // browsers).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  if (!toc) {
    return;
  }

  // Delete existing TOC entries in case we're reloading the TOC.
  var tocEntriesToRemove = [];
  var i;
  for (i = 0; i < toc.childNodes.length; i++) {
    var entry = toc.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div'
     && entry.getAttribute("class")
     && entry.getAttribute("class").match(/^toclevel/))
      tocEntriesToRemove.push(entry);
  }
  for (i = 0; i < tocEntriesToRemove.length; i++) {
    toc.removeChild(tocEntriesToRemove[i]);
  }

  // Rebuild TOC entries.
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // Delete existing footnote entries in case we're reloading the footnodes.
  var i;
  var noteholder = document.getElementById("footnotes");
  if (!noteholder) {
    return;
  }
  var entriesToRemove = [];
  for (i = 0; i < noteholder.childNodes.length; i++) {
    var entry = noteholder.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
      entriesToRemove.push(entry);
  }
  for (i = 0; i < entriesToRemove.length; i++) {
    noteholder.removeChild(entriesToRemove[i]);
  }

  // Rebuild footnote entries.
  var cont = document.getElementById("content");
  var spans = cont.getElementsByTagName("span");
  var refs = {};
  var n = 0;
  for (i=0; i<spans.length; i++) {
    if (spans[i].className == "footnote") {
      n++;
      var note = spans[i].getAttribute("data-note");
      if (!note) {
        // Use [\s\S] in place of . so multi-line matches work.
        // Because JavaScript has no s (dotall) regex flag.
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
        spans[i].innerHTML =
          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
        spans[i].setAttribute("data-note", note);
      }
      noteholder.innerHTML +=
        "<div class='footnote' id='_footnote_" + n + "'>" +
        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
        n + "</a>. " + note + "</div>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

install: function(toclevels) {
  var timerId;

  function reinstall() {
    asciidoc.footnotes();
    if (toclevels) {
      asciidoc.toc(toclevels);
    }
  }

  function reinstallAndRemoveTimer() {
    clearInterval(timerId);
    reinstall();
  }

  timerId = setInterval(reinstall, 500);
  if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
  else
    window.onload = reinstallAndRemoveTimer;
}

}
asciidoc.install(2);
/*]]>*/
</script>
</head>
<body class="article">
<div id="header">
<h1>LAPACK 3.11.0</h1>
<div id="toc">
  <div id="toctitle">Table of Contents</div>
  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>Release date: 11/11/22.</p></div>
<div class="paragraph"><p>This material is based upon work supported by the National Science Foundation
and the Department of Energy.</p></div>
<div class="paragraph"><p>LAPACK is a software package provided by Univ. of Tennessee, Univ. of
California, Berkeley, Univ. of Colorado Denver and NAG Ltd..</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_1_support_and_questions">1. Support and questions:</h2>
<div class="sectionbody">
<div class="paragraph"><p><a href="http://icl.cs.utk.edu/lapack-forum/">http://icl.cs.utk.edu/lapack-forum/</a></p></div>
<div class="paragraph"><p><a href="https://github.com/Reference-LAPACK/lapack/">https://github.com/Reference-LAPACK/lapack/</a></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_lapack_3_11_0_what_8217_s_new">2. LAPACK 3.11.0: What&#8217;s new</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Download: <a href="https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.11.tar.gz">lapack-3.11.0.tar.gz</a>
</p>
</li>
</ul></div>
<div class="paragraph"><p>This is a major release and also addressing multiple bug fixes.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_1_normwise_criterion_for_infinite_eigenvalues_in_the_qz_algorithm_by_a_href_https_github_com_thijssteel_thijssteel_a">2.1. Normwise criterion for infinite eigenvalues in the QZ algorithm by <a href="https://github.com/thijssteel">@thijssteel</a></h2>
<div class="sectionbody">
<div class="paragraph"><p>The normwise criterion is more robust at detecting infinite eigenvalues than the elementwise criterion (<a href="https://github.com/Reference-LAPACK/lapack/pull/698">PR #698</a>). See also <a href="https://arxiv.org/abs/2208.02057">https://arxiv.org/abs/2208.02057</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_2_level_3_blas_solvers_for_the_triangular_system_and_triangular_sylvester_equations_by_a_href_https_github_com_angsch_angsch_a">2.2 level-3 BLAS solvers for the triangular system and triangular Sylvester equations by <a href="https://github.com/angsch">@angsch</a></h2>
<div class="sectionbody">
<div class="paragraph"><p>The triangular Sylvester equation has been recognized to be prone to overflow. For that purpose, <code>*TRSYL</code> utilizes a scaling factor to represent the solution as <code>(s^{-1} X)</code> and solve the scaled equation <code>AX + XB = s C</code>. Due to the scaling factor, there is some flexibility in the representation of the solution. The proposed level-3 BLAS version computes the scaling factors based on the upper bounds of blocks to enable level-3 BLAS. The scaling is typically slightly more aggressive so that an alternatively scaled final solution is computed. This is no problem as long as the scaling factor does not get flushed to zero (<a href="https://github.com/Reference-LAPACK/lapack/pull/651">PR #651</a>). The same upper bound calculation was used to write the level-3 BLAS solver for the triangular system, <code>*LATRS3</code>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_3_givens_rotations_generated_with_less_accumulation_error_by_a_href_https_github_com_weslleyspereira_weslleyspereira_a">2.3 Givens rotations generated with less accumulation error by <a href="https://github.com/weslleyspereira">@weslleyspereira</a></h2>
<div class="sectionbody">
<div class="paragraph"><p>New algorithms for computing Givens rotations in complex arithmetic that reduce the accumulation errors for computing each of the outputs, <code>c, s, r</code>. The new algorithms are, on average, more accurate than both the algorithms from LAPACK 3.9.1 and LAPACK 3.10.0 (<a href="https://github.com/Reference-LAPACK/lapack/pull/631">PR #631</a>). See also <a href="https://arxiv.org/abs/2211.04010">https://arxiv.org/abs/2211.04010</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_4_faster_algorithms_for_least_squares_by_a_href_https_github_com_scr2016_scr2016_a">2.4 Faster algorithms for Least Squares by <a href="https://github.com/scr2016">@scr2016</a></h2>
<div class="sectionbody">
<div class="paragraph"><p>The new algorithms, <code>*GELST</code>, are similar to <code>*GELS</code>. <code>*GELST</code> avoids computing triangular blocks twice as in <code>*GELS</code>, which means <code>*GELST</code> runs faster (<a href="https://github.com/Reference-LAPACK/lapack/pull/739">PR #739</a>).</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_5_improvements_on_the_building_system_and_the_continuous_testing_framework">2.5 Improvements on the building system and the Continuous Testing framework</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Regression test for illegal modification of Y in <code>*GEMV</code> by <a href="https://github.com/matcross">@matcross</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/622">PR #622</a>.
</p>
</li>
<li>
<p>
Test the Fortran intrinsic ABS and complex divisions and report failures during build by <a href="https://github.com/weslleyspereira">@weslleyspereira</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/623">PR #623</a>.
</p>
</li>
<li>
<p>
Appveyor is working in the Continuous Testing once more by <a href="https://github.com/martin-frbg">@martin-frbg</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/627">PR #627</a>.
</p>
</li>
<li>
<p>
More tests and fixes for type mismatches by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/675">PR #675</a>.
</p>
</li>
<li>
<p>
Solve build issues with IBM XLF by <a href="https://github.com/friedc">@friedc</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/677">PR #677</a>.
</p>
</li>
<li>
<p>
Explicit type casts to INT by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/684">PR #684</a>.
</p>
</li>
<li>
<p>
Fix an out-of-bounds write in the tests by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/685">PR #685</a>.
</p>
</li>
<li>
<p>
Adding support for NAG Fortran compiler (nagfor) by <a href="https://github.com/ACSimon33">@ACSimon33</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/686">PR #686</a>.
</p>
</li>
<li>
<p>
Fix time check flag propagation and default value by <a href="https://github.com/ACSimon33">@ACSimon33</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/696">PR #696</a>.
</p>
</li>
<li>
<p>
Fixed format warnings in 64 bit integer builds by <a href="https://github.com/ACSimon33">@ACSimon33</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/700">PR #700</a>.
</p>
</li>
<li>
<p>
Explicit type casts and more rigorous CI by <a href="https://github.com/weslleyspereira">@weslleyspereira</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/703">PR #703</a>.
</p>
</li>
<li>
<p>
Fix type mismatches in function calls of testing code by <a href="https://github.com/mjacobse">@mjacobse</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/706">PR #706</a>.
</p>
</li>
<li>
<p>
Fix lower triangular band matrix generation by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/728">PR #728</a>.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_6_other_improvements">2.6 Other improvements</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Improves the computation of norms in <code>{S,D}ORBDB6</code> and <code>{C,Z}UNBDB6</code> by <a href="https://github.com/christoph-conrads">@Christoph Conrads</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/647">PR #647</a>.
</p>
</li>
<li>
<p>
Uses a Newton step to compute the initial guess for <code>ETA</code> in <code>{S,D}LAED4</code> to reduce the number of iterations by <a href="https://github.com/weslleyspereira">@weslleyspereira</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/655">PR #655</a>.
</p>
</li>
<li>
<p>
Return immediately when scaling with one by @angsch in <a href="https://github.com/Reference-LAPACK/lapack/pull/674">PR #674</a>.
</p>
</li>
<li>
<p>
Rearrange the application of the Householder reflectors in <code>*LAQR5</code>, which lowers the instruction count when FMA is available by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/681">PR #681</a>.
</p>
</li>
<li>
<p>
Set SCALE early for robust triangular solvers by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/712">PR #712</a>.
</p>
</li>
<li>
<p>
Add <code>{C,Z}ROTG</code>, <code>{CS,ZD}ROT</code>,  <code>{S,D}CABS1</code> to CBLAS by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/721">PR #721</a>.
</p>
</li>
<li>
<p>
Add <code>*LANGB</code> to LAPACKE by <a href="https://github.com/ACSimon33">@ACSimon33</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/725">PR #725</a>.
</p>
</li>
<li>
<p>
NaN check for trapezoidal matrices on LAPACKE by <a href="https://github.com/ACSimon33">@ACSimon33</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/738">PR #738</a> and <a href="https://github.com/Reference-LAPACK/lapack/pull/742">PR #742</a>.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_2_7_bug_fixes">2.7 Bug fixes</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Fix <code>LAPACKE_*tpmqrt_work</code> for row-major matrices by <a href="https://github.com/weslleyspereira">@weslleyspereira</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/540">PR 540</a>.
</p>
</li>
<li>
<p>
Fix leading dimension check in LAPACKE&#8217;s <code>*geesv[x]</code> and <code>*gges[x]</code> by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/665">PR 665</a>.
</p>
</li>
<li>
<p>
Fix the left-looking variant of GEQRF by <a href="https://github.com/weslleyspereira">@weslleyspereira</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/690">PR 690</a>.
</p>
</li>
<li>
<p>
Fix workspace query for <code>*SYEVD</code> and <code>*HEEVD</code> routines by <a href="https://github.com/">neil-lindquist</a>@neil-lindquist in <a href="https://github.com/Reference-LAPACK/lapack/pull/691">PR 691</a>.
</p>
</li>
<li>
<p>
Fix behavior of <code>SCALE</code> in <code>*LATBS</code> and <code>*LATRS</code>, and avoids NaN generation if entries in <code>CNORM</code> exceed the overflow threshold by <a href="https://github.com/angsch">@angsch</a> in <a href="https://github.com/Reference-LAPACK/lapack/pull/712">PR 712</a>.
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong><a href="https://github.com/Reference-LAPACK/lapack/compare/v3.10.1&#8230;v3.11">Full Changelog</a></strong></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_3_developer_list">3. Developer list</h2>
<div class="sectionbody">
<div class="ulist"><div class="title">LAPACK developers involved in this release</div><ul>
<li>
<p>
Weslley da Silva Pereira (University of Colorado Denver, USA)
</p>
</li>
<li>
<p>
Igor Kozachenko (University of California, Berkeley, USA)
</p>
</li>
<li>
<p>
Julie Langou (University of Tennessee, USA)
</p>
</li>
</ul></div>
<div class="ulist"><div class="title">Principal Investigators</div><ul>
<li>
<p>
Jim Demmel (University of California,  Berkeley, USA)
</p>
</li>
<li>
<p>
Jack Dongarra (University of Tennessee and ORNL, USA)
</p>
</li>
<li>
<p>
Julien Langou (University of Colorado Denver, USA)
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_3_1_new_contributors">3.1 New Contributors</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="https://github.com/PhillHS">@PhillHS</a> made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/601">PR 601</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/mtowara">@mtowara</a> made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/663">PR 663</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/dbakshee">@dbakshee</a> made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/671">PR 671</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/ACSimon33">@ACSimon33</a> made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/686">PR 686</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/friedc">@friedc</a> made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/677">PR 677</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/">neil-lindquist</a>@neil-lindquist made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/691">PR 691</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/">ivan-pi</a>@ivan-pi made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/699">PR 699</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/">mjacobse</a>@mjacobse made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/702">PR 702</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/">MonicaLiu0311</a>@MonicaLiu0311 made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/720">PR 720</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/">eltociear</a>@eltociear made their first contribution in <a href="https://github.com/Reference-LAPACK/lapack/pull/735">PR 735</a>
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_4_thanks_again">4. Thanks again!</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
MathWorks: Penny Anderson, Mary Ann Freeman, Bobby Cheng, Pat Quillen, Christine Tobler, Heiko Weichelt.
</p>
</li>
<li>
<p>
GitHub Users:
 <a href="https://github.com/angsch">@angsch</a>,
 <a href="https://github.com/christoph-conrads">@Christoph Conrads</a>
 <a href="https://github.com/martin-frbg">@martin-frbg</a>,
 <a href="https://github.com/thijssteel">@thijssteel</a>
</p>
</li>
</ul></div>
<div class="paragraph"><p>Github contribution details <a href="https://github.com/Reference-LAPACK/lapack/graphs/contributors?from=2022-04-13&amp;to=2022-11-11&amp;type=c">here</a></p></div>
<div class="paragraph"><p>Thanks you all!</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_5_bug_fix">5.  Bug Fix</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="https://github.com/Reference-LAPACK/lapack/milestone/6?closed=1">Closed bugs</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/Reference-LAPACK/lapack/issues?utf8=✓&amp;q=is%3Aissue%20is%3Aopen%20label%3A%22Type%3A%20Bug%22%20">Open bugs</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/Reference-LAPACK/lapack/issues">All open issues</a>
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated
 2022-11-14 15:24:33 PST
</div>
</div>
</body>
</html>
