Skip to content

Commit

Permalink
Bug fixes for MF and normal distribution trace estimation. Updating docs
Browse files Browse the repository at this point in the history
  • Loading branch information
peekxc committed Jan 2, 2024
1 parent 5842790 commit d66f10f
Show file tree
Hide file tree
Showing 29 changed files with 1,525 additions and 725 deletions.
18 changes: 3 additions & 15 deletions docs/advanced/cpp_integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<script src="../site_libs/quarto-search/fuse.min.js"></script>
<script src="../site_libs/quarto-search/quarto-search.js"></script>
<meta name="quarto:offset" content="../">
<link href="../advanced/pybind11_integration.html" rel="next">
<link href="../reference/index.html" rel="next">
<link href="../theory/lanczos.html" rel="prev">
<script src="../site_libs/quarto-html/quarto.js"></script>
<script src="../site_libs/quarto-html/popper.min.js"></script>
Expand Down Expand Up @@ -254,18 +254,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link active">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down Expand Up @@ -989,8 +977,8 @@ <h2 class="anchored" data-anchor-id="other-concepts">Other Concepts</h2>
</a>
</div>
<div class="nav-page nav-page-next">
<a href="../advanced/pybind11_integration.html" class="pagination-link" aria-label="Integrating with pybind11">
<span class="nav-page-text">Integrating with pybind11</span> <i class="bi bi-arrow-right-short"></i>
<a href="../reference/index.html" class="pagination-link" aria-label="API Reference">
<span class="nav-page-text">API Reference</span> <i class="bi bi-arrow-right-short"></i>
</a>
</div>
</nav>
Expand Down
30 changes: 2 additions & 28 deletions docs/advanced/pybind11_integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
<script src="../site_libs/quarto-search/fuse.min.js"></script>
<script src="../site_libs/quarto-search/quarto-search.js"></script>
<meta name="quarto:offset" content="../">
<link href="../advanced/slq_param.html" rel="next">
<link href="../advanced/cpp_integration.html" rel="prev">
<script src="../site_libs/quarto-html/quarto.js"></script>
<script src="../site_libs/quarto-html/popper.min.js"></script>
<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
Expand Down Expand Up @@ -114,7 +112,7 @@
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<i class="bi bi-layout-text-sidebar-reverse"></i>
</button>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="../advanced/cpp_integration.html">Advanced</a></li><li class="breadcrumb-item"><a href="../advanced/pybind11_integration.html">Integrating with pybind11</a></li></ol></nav>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item">pybind11 Integration</li></ol></nav>
<a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
</a>
</div>
Expand Down Expand Up @@ -204,18 +202,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link active">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down Expand Up @@ -288,7 +274,7 @@
<!-- main -->
<main class="content" id="quarto-document-content">

<header id="title-block-header" class="quarto-title-block default"><nav class="quarto-page-breadcrumbs quarto-title-breadcrumbs d-none d-lg-block" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="../advanced/cpp_integration.html">Advanced</a></li><li class="breadcrumb-item"><a href="../advanced/pybind11_integration.html">Integrating with pybind11</a></li></ol></nav>
<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">pybind11 Integration</h1>
</div>
Expand Down Expand Up @@ -984,18 +970,6 @@ <h1 class="title">pybind11 Integration</h1>
}
});
</script>
<nav class="page-navigation">
<div class="nav-page nav-page-previous">
<a href="../advanced/cpp_integration.html" class="pagination-link aria-label=" usage="" from="" c++"="">
<i class="bi bi-arrow-left-short"></i> <span class="nav-page-text">Usage from C++</span>
</a>
</div>
<div class="nav-page nav-page-next">
<a href="../advanced/slq_param.html" class="pagination-link" aria-label="Parameterizing SLQ">
<span class="nav-page-text">Parameterizing SLQ</span> <i class="bi bi-arrow-right-short"></i>
</a>
</div>
</nav>
</div> <!-- /content -->
<footer class="footer">
<div class="nav-footer">
Expand Down
30 changes: 2 additions & 28 deletions docs/advanced/slq_param.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@
<script src="../site_libs/quarto-search/fuse.min.js"></script>
<script src="../site_libs/quarto-search/quarto-search.js"></script>
<meta name="quarto:offset" content="../">
<link href="../reference/index.html" rel="next">
<link href="../advanced/pybind11_integration.html" rel="prev">
<script src="../site_libs/quarto-html/quarto.js"></script>
<script src="../site_libs/quarto-html/popper.min.js"></script>
<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
Expand Down Expand Up @@ -164,7 +162,7 @@
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<i class="bi bi-layout-text-sidebar-reverse"></i>
</button>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="../advanced/cpp_integration.html">Advanced</a></li><li class="breadcrumb-item"><a href="../advanced/slq_param.html">Parameterizing SLQ</a></li></ol></nav>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item">Parameterizing SLQ</li></ol></nav>
<a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
</a>
</div>
Expand Down Expand Up @@ -254,18 +252,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link active">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down Expand Up @@ -348,7 +334,7 @@ <h2 id="toc-title">On this page</h2>
<!-- main -->
<main class="content" id="quarto-document-content">

<header id="title-block-header" class="quarto-title-block default"><nav class="quarto-page-breadcrumbs quarto-title-breadcrumbs d-none d-lg-block" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="../advanced/cpp_integration.html">Advanced</a></li><li class="breadcrumb-item"><a href="../advanced/slq_param.html">Parameterizing SLQ</a></li></ol></nav>
<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">Parameterizing SLQ</h1>
</div>
Expand Down Expand Up @@ -1025,18 +1011,6 @@ <h2 class="anchored" data-anchor-id="references">References</h2>
}
});
</script>
<nav class="page-navigation">
<div class="nav-page nav-page-previous">
<a href="../advanced/pybind11_integration.html" class="pagination-link aria-label=" integrating="" with="" pybind11"="">
<i class="bi bi-arrow-left-short"></i> <span class="nav-page-text">Integrating with pybind11</span>
</a>
</div>
<div class="nav-page nav-page-next">
<a href="../reference/index.html" class="pagination-link" aria-label="API Reference">
<span class="nav-page-text">API Reference</span> <i class="bi bi-arrow-right-short"></i>
</a>
</div>
</nav>
</div> <!-- /content -->
<footer class="footer">
<div class="nav-footer">
Expand Down
12 changes: 0 additions & 12 deletions docs/basic/install.html
Original file line number Diff line number Diff line change
Expand Up @@ -238,18 +238,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down
12 changes: 0 additions & 12 deletions docs/basic/integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -254,18 +254,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down
16 changes: 2 additions & 14 deletions docs/basic/performance.html
Original file line number Diff line number Diff line change
Expand Up @@ -236,18 +236,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down Expand Up @@ -342,7 +330,7 @@ <h1 class="title">Performance</h1>
<p><code>primate</code> provides a variety of efficient algorithms for estimating quantities derived from matrix functions. These algorithms are largely implemented in C++ to minimize overhead, and for some computational problems <code>primate</code> can out-perform the standard algorithms for estimating spectral quantities by several orders of magnitude. Nonetheless, there are some performance-related caveats to be aware of.</p>
<!-- The main -->
<!-- To illustrate this, we give an example below using Toeplitz matrices. -->
<div id="b427ca63" class="cell" data-execution_count="1">
<div id="7dea8342" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> scipy.linalg <span class="im">import</span> toeplitz</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> primate.trace <span class="im">import</span> hutch </span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
Expand Down Expand Up @@ -386,7 +374,7 @@ <h1 class="title">Performance</h1>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a>a, b <span class="op">=</span> lanczos(T, deg<span class="op">=</span><span class="dv">499</span>, orth<span class="op">=</span><span class="dv">150</span>)</span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a>np.<span class="bu">sum</span>(np.<span class="bu">abs</span>(eigvalsh_tridiagonal(a,b)))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
</div>
<div id="c599adf5" class="cell" data-execution_count="2">
<div id="91c72d5d" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> timeit </span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>timeit.timeit(<span class="kw">lambda</span>: hutch(A, maxiter<span class="op">=</span><span class="dv">20</span>, deg<span class="op">=</span><span class="dv">5</span>, fun<span class="op">=</span><span class="st">"log"</span>, quad<span class="op">=</span><span class="st">"fttr"</span>), number <span class="op">=</span> <span class="dv">1000</span>)</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>timeit.timeit(<span class="kw">lambda</span>: np.<span class="bu">sum</span>(np.log(np.linalg.eigvalsh(A))), number <span class="op">=</span> <span class="dv">1000</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
Expand Down
14 changes: 1 addition & 13 deletions docs/basic/todo.html
Original file line number Diff line number Diff line change
Expand Up @@ -236,18 +236,6 @@
<a href="../advanced/cpp_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Usage from C++</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/pybind11_integration.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Integrating with pybind11</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../advanced/slq_param.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Parameterizing SLQ</span></a>
</div>
</li>
</ul>
</li>
Expand Down Expand Up @@ -323,7 +311,7 @@



<div id="440c9ba7" class="cell" data-execution_count="1">
<div id="8f24e60f" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co"># a, b = 0.8, 2</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="co"># x = np.random.uniform(low=0, high=10, size=40)</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="co"># eps = np.random.normal(loc=0, scale=1.0, size=40)</span></span>
Expand Down
Loading

0 comments on commit d66f10f

Please sign in to comment.