Commit 51b8b975 authored by Roman Flury's avatar Roman Flury

spam update

parent 8d6772be
Pipeline #1698 passed with stage
in 3 seconds
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
......@@ -9,17 +9,17 @@
<title>License • spam</title>
<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
<!-- sticky kit -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script>
......@@ -35,7 +35,8 @@
<!-- mathjax -->
<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
......@@ -51,14 +52,15 @@
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -123,13 +125,12 @@ ORGANIZATION: Rice University
<footer>
<div class="copyright">
<p>Developed by Reinhard Furrer.</p>
<p>Developed by Reinhard Furrer, Florian Gerber, Roman Flury.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
......
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
......@@ -9,17 +9,17 @@
<title>Articles • spam</title>
<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
<!-- sticky kit -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script>
......@@ -35,7 +35,8 @@
<!-- mathjax -->
<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
......@@ -51,14 +52,15 @@
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -124,13 +126,12 @@
<footer>
<div class="copyright">
<p>Developed by Reinhard Furrer.</p>
<p>Developed by Reinhard Furrer, Florian Gerber, Roman Flury.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
......
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Illustrations and Examples • spam</title>
<!-- jquery --><script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script><!-- Font Awesome icons --><link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet">
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script><meta property="og:title" content="Illustrations and Examples">
<meta property="og:description" content="">
<meta name="twitter:card" content="summary">
<!-- mathjax --><script src="https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><!--[if lt IE 9]>
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
......@@ -22,14 +22,15 @@
<header><div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -81,7 +82,7 @@
<h1>Illustrations and Examples</h1>
<h4 class="author">Reinhard Furrer, Roman Flury</h4>
<h4 class="date">2018-12-20</h4>
<h4 class="date">2019-03-09</h4>
<div class="hidden name"><code>spam.Rmd</code></div>
......@@ -100,11 +101,11 @@
<h1 class="hasAnchor">
<a href="#a-simple-example" class="anchor"></a>A Simple Example</h1>
<p>This first section illustrates with a simple example how to work with <code>spam</code>. Within a running R we install and load the current <code>spam</code> version from CRAN.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">install.packages</span>(<span class="st">"spam"</span>)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="https://www.rdocumentation.org/packages/utils/topics/install.packages">install.packages</a></span>(<span class="st">"spam"</span>)
<span class="kw">library</span>(<span class="st">"spam"</span>)</code></pre></div>
<span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/library">library</a></span>(<span class="st">"spam"</span>)</code></pre></div>
<p>We create a trivial matrix and “coerce” it to a sparse matrix.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">Fmat &lt;-<span class="st"> </span><span class="kw">matrix</span>(<span class="kw">c</span>(<span class="dv">3</span>, <span class="dv">0</span>, <span class="dv">1</span>, <span class="dv">0</span>, <span class="dv">2</span>, <span class="dv">0</span>, <span class="dv">1</span>, <span class="dv">0</span>, <span class="dv">3</span>), <span class="dt">nrow =</span> <span class="dv">3</span>, <span class="dt">ncol =</span> <span class="dv">3</span>)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">Fmat &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/matrix">matrix</a></span>(<span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/c">c</a></span>(<span class="dv">3</span>, <span class="dv">0</span>, <span class="dv">1</span>, <span class="dv">0</span>, <span class="dv">2</span>, <span class="dv">0</span>, <span class="dv">1</span>, <span class="dv">0</span>, <span class="dv">3</span>), <span class="dt">nrow =</span> <span class="dv">3</span>, <span class="dt">ncol =</span> <span class="dv">3</span>)
Smat &lt;-<span class="st"> </span><span class="kw"><a href="../reference/spam.creation.html">as.spam</a></span>(Fmat)</code></pre></div>
<p><code>spam</code> is conceptualized such that for many operations, the user proceeds as with ordinary full matrices. For example:</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">Fmat
......@@ -118,26 +119,26 @@ Smat
<span class="co">#&gt; [2,] 0 2 0</span>
<span class="co">#&gt; [3,] 1 0 3</span>
<span class="co">#&gt; Class 'spam' (32-bit)</span>
Smat %*%<span class="st"> </span><span class="kw">t</span>(Smat)
Smat %*%<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/t">t</a></span>(Smat)
<span class="co">#&gt; [,1] [,2] [,3]</span>
<span class="co">#&gt; [1,] 10 0 6</span>
<span class="co">#&gt; [2,] 0 4 0</span>
<span class="co">#&gt; [3,] 6 0 10</span>
<span class="co">#&gt; Class 'spam' (32-bit)</span>
Fmat %*%<span class="st"> </span><span class="kw">t</span>(Smat)
Fmat %*%<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/t">t</a></span>(Smat)
<span class="co">#&gt; [,1] [,2] [,3]</span>
<span class="co">#&gt; [1,] 10 0 6</span>
<span class="co">#&gt; [2,] 0 4 0</span>
<span class="co">#&gt; [3,] 6 0 10</span>
<span class="co">#&gt; Class 'spam' (32-bit)</span></code></pre></div>
<p>Hence, the user should not be worried which objects are sparse matrices and which are not. Of course not all operations result in sparse objects again,</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">rep</span>(<span class="dv">1</span>, <span class="dv">3</span>) %*%<span class="st"> </span>Smat
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/rep">rep</a></span>(<span class="dv">1</span>, <span class="dv">3</span>) %*%<span class="st"> </span>Smat
<span class="co">#&gt; [,1] [,2] [,3]</span>
<span class="co">#&gt; [1,] 4 2 4</span></code></pre></div>
<p>However, other operations yield to different results when applied to full or sparse matrices</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">range</span>(Fmat)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/range">range</a></span>(Fmat)
<span class="co">#&gt; [1] 0 3</span>
<span class="kw">range</span>(Smat)
<span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/range">range</a></span>(Smat)
<span class="co">#&gt; [1] 1 3</span></code></pre></div>
</div>
<div id="creating-sparse-matrices" class="section level1">
......@@ -166,14 +167,14 @@ Fmat %*%<span class="st"> </span><span class="kw">t</span>(Smat)
<span class="co">#&gt; [71] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</span>
<span class="co">#&gt; Class 'spam' (32-bit)</span></code></pre></div>
<p>The size of the matrix when switching from the first printing format to the second is a <code>spam</code> option, see Section Options. Naturally, we can also use the <code>str</code> command which gives us further insight into the individual slots of the <code>spam</code> object:</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">str</span>(Smat)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="https://www.rdocumentation.org/packages/utils/topics/str">str</a></span>(Smat)
<span class="co">#&gt; Formal class 'spam' [package "spam"] with 4 slots</span>
<span class="co">#&gt; ..@ entries : num [1:5] 3 1 2 1 3</span>
<span class="co">#&gt; ..@ colindices : int [1:5] 1 3 2 1 3</span>
<span class="co">#&gt; ..@ rowpointers: int [1:4] 1 3 4 6</span>
<span class="co">#&gt; ..@ dimension : int [1:2] 3 3</span></code></pre></div>
<p>Alternatively, calling <code>summary</code> gives additional information of the matrix.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(Smat)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(Smat)
<span class="co">#&gt; Matrix object of class 'spam' of dimension 3x3,</span>
<span class="co">#&gt; with 5 (row-wise) nonzero elements.</span>
<span class="co">#&gt; Density of the matrix is 55.6%.</span>
......@@ -192,12 +193,12 @@ Sparsity structure of sparse matrices.
<h1 class="hasAnchor">
<a href="#solving-linear-systems" class="anchor"></a>Solving Linear Systems</h1>
<p>To be more specific about one of <code>spam</code>’s main features, assume we need to calculate <span class="math inline">\(\boldsymbol{A}^{-1}\boldsymbol{b}\)</span> with <span class="math inline">\(\boldsymbol{A}\)</span> a symmetric positive definite matrix featuring some sparsity structure, which is usually accomplished by solving <span class="math inline">\(\boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}\)</span>. We proceed by factorizing <span class="math inline">\(\boldsymbol{A}\)</span> into <span class="math inline">\(\boldsymbol{R}^T\boldsymbol{R}\)</span>, where <span class="math inline">\(\boldsymbol{R}\)</span> is an upper triangular matrix, called the Cholesky factor or Cholesky triangle of <span class="math inline">\(\boldsymbol{A}\)</span>, followed by solving <span class="math inline">\(\boldsymbol{R}^T\boldsymbol{y}=\boldsymbol{b}\)</span> and <span class="math inline">\(\boldsymbol{R}\boldsymbol{x}=\boldsymbol{y}\)</span>, called forwardsolve and backsolve, respectively. To reduce the fill-in of the Cholesky factor <span class="math inline">\(\boldsymbol{R}\)</span>, we permute the columns and rows of <span class="math inline">\(\boldsymbol{A}\)</span> according to a (cleverly chosen) permutation <span class="math inline">\(\boldsymbol{P}\)</span>, i.e., <span class="math inline">\(\boldsymbol{U}^T\boldsymbol{U}=\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}\)</span>, with <span class="math inline">\(\boldsymbol{U}\)</span> an upper triangular matrix. There exist many different algorithms to find permutations which are optimal for specific matrices %tridiagonal matrices finite element/difference matrices defined on square grids or at least close to optimal with respect to different criteria. Note that <span class="math inline">\(\boldsymbol{R}\)</span> and <span class="math inline">\(\boldsymbol{U}\)</span> cannot be linked through <span class="math inline">\(\boldsymbol{P}\)</span> alone. Figure illustrates the factorization with and without permutation. For solving a linear system the two triangular solves are performed after the factorization. The determinant of <span class="math inline">\(\boldsymbol{A}\)</span> is the squared product of the diagonal elements of its Cholesky factor <span class="math inline">\(\boldsymbol{R}\)</span>. Hence the same factorization can be used to calculate determinants (a necessary and computational bottleneck in the computation of the log-likelihood of a Gaussian model), illustrating that it is very important to have a very efficient integration (with respect to calculation time and storage capacity) of the Cholesky factorization. In the case of GMRF, the off-diagonal non-zero elements correspond to the conditional dependence structure. However, for the calculation of the Cholesky factor, the values themselves are less important than the sparsity structure, which is often represented using a graph with edges representing the non-zero elements or using a “pixel” image of the zero/non-zero structure, see Figure .</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">i &lt;-<span class="st"> </span><span class="kw">c</span>(<span class="dv">2</span>, <span class="dv">4</span>, <span class="dv">4</span>, <span class="dv">5</span>, <span class="dv">5</span>)
j &lt;-<span class="st"> </span><span class="kw">c</span>(<span class="dv">1</span>, <span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>)
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">i &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/c">c</a></span>(<span class="dv">2</span>, <span class="dv">4</span>, <span class="dv">4</span>, <span class="dv">5</span>, <span class="dv">5</span>)
j &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/c">c</a></span>(<span class="dv">1</span>, <span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>)
A &lt;-<span class="st"> </span><span class="kw"><a href="../reference/spam.creation.html">spam</a></span>(<span class="dv">0</span>, <span class="dt">nrow =</span> <span class="dv">5</span>, <span class="dt">ncol =</span> <span class="dv">5</span>)
A[<span class="kw"><a href="../reference/xybind.html">cbind</a></span>(i, j)] &lt;-<span class="st"> </span><span class="kw">rep</span>(<span class="fl">0.5</span>, <span class="kw">length</span>(i))
A &lt;-<span class="st"> </span><span class="kw">t</span>(A) +<span class="st"> </span>A +<span class="st"> </span><span class="kw"><a href="../reference/diag.html">diag.spam</a></span>(<span class="dv">5</span>)
A[<span class="kw"><a href="../reference/xybind.html">cbind</a></span>(i, j)] &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/rep">rep</a></span>(<span class="fl">0.5</span>, <span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/length">length</a></span>(i))
A &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/t">t</a></span>(A) +<span class="st"> </span>A +<span class="st"> </span><span class="kw"><a href="../reference/diag.html">diag.spam</a></span>(<span class="dv">5</span>)
A
<span class="co">#&gt; [,1] [,2] [,3] [,4] [,5]</span>
<span class="co">#&gt; [1,] 1.0 0.5 0.0 0.5 0.5</span>
......@@ -207,7 +208,7 @@ A
<span class="co">#&gt; [5,] 0.5 0.0 0.5 0.0 1.0</span>
<span class="co">#&gt; Class 'spam' (32-bit)</span>
U &lt;-<span class="st"> </span><span class="kw">chol</span>(A)</code></pre></div>
U &lt;-<span class="st"> </span><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/chol">chol</a></span>(A)</code></pre></div>
<div class="figure" style="text-align: center">
<img src="figures/tree.png" alt="\label{fig:tree}On the left side the associated graph to the matrix $\boldsymbol{A}$ is visualized. The nodes of the graph are labeled according to $\boldsymbol{A}$ (upright) and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ (italics). On the right side the sparsity structure of $\boldsymbol{A}$ and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ (top row) and the Cholesky factors $\boldsymbol{R}$ and $\boldsymbol{U}$ of $\boldsymbol{A}$ and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ respectively are given in the bottom row. The dashed lines in $\boldsymbol{U}$ indicate the supernode partition." width="40%"><img src="figures/ill.png" alt="\label{fig:tree}On the left side the associated graph to the matrix $\boldsymbol{A}$ is visualized. The nodes of the graph are labeled according to $\boldsymbol{A}$ (upright) and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ (italics). On the right side the sparsity structure of $\boldsymbol{A}$ and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ (top row) and the Cholesky factors $\boldsymbol{R}$ and $\boldsymbol{U}$ of $\boldsymbol{A}$ and $\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}$ respectively are given in the bottom row. The dashed lines in $\boldsymbol{U}$ indicate the supernode partition." width="40%"><p class="caption">
On the left side the associated graph to the matrix <span class="math inline">\(\boldsymbol{A}\)</span> is visualized. The nodes of the graph are labeled according to <span class="math inline">\(\boldsymbol{A}\)</span> (upright) and <span class="math inline">\(\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}\)</span> (italics). On the right side the sparsity structure of <span class="math inline">\(\boldsymbol{A}\)</span> and <span class="math inline">\(\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}\)</span> (top row) and the Cholesky factors <span class="math inline">\(\boldsymbol{R}\)</span> and <span class="math inline">\(\boldsymbol{U}\)</span> of <span class="math inline">\(\boldsymbol{A}\)</span> and <span class="math inline">\(\boldsymbol{P}^T\boldsymbol{A}\boldsymbol{P}\)</span> respectively are given in the bottom row. The dashed lines in <span class="math inline">\(\boldsymbol{U}\)</span> indicate the supernode partition.
......@@ -256,7 +257,7 @@ Sparsity structure of the Cholesky factor with MMD, RCM and no permutation of a
<div id="methods-with-particular-behavior" class="section level2">
<h2 class="hasAnchor">
<a href="#methods-with-particular-behavior" class="anchor"></a>Methods with Particular Behavior</h2>
<p>For the <code>spam</code> class additional methods are defined, for examples <code>rbind</code>/<code>cbind</code>, <code>dim&lt;-</code>, etc. The group generic functions from <code>Math</code>, <code>Math2</code> and <code>Summary</code> are treated particularly since they operate only on the nonzero entries of the <code>spam</code> class. For example, for the matrix <code>A</code> presented in the introduction <code>range(A)</code> is the vector <code>c(0.5, 1)</code>, i.e. the zeros are omitted from the calculation. The help lists further available methods and highlights the (dis-)similarities compared to when applied to regular matrices or arrays.</p>
<p>For the <code>spam</code> class additional methods are defined, for examples <code>rbind</code>/<code>cbind</code>, <code>dim&lt;-</code>, etc. The group generic functions from <code>Math</code>, <code>Math2</code> and <code>Summary</code> are treated particularly since they operate only on the nonzero entries of the <code>spam</code> class. For example, for the matrix <code>A</code> presented in the introduction <code><a href="https://www.rdocumentation.org/packages/base/topics/range">range(A)</a></code> is the vector <code><a href="https://www.rdocumentation.org/packages/base/topics/c">c(0.5, 1)</a></code>, i.e. the zeros are omitted from the calculation. The help lists further available methods and highlights the (dis-)similarities compared to when applied to regular matrices or arrays.</p>
</div>
<div id="particular-methods-with-ordinary-behavior" class="section level2">
<h2 class="hasAnchor">
......@@ -271,7 +272,7 @@ Sparsity structure of the Cholesky factor with MMD, RCM and no permutation of a
<p><code>Matrix</code> incorporates many classes for sparse and full matrices and is based on C. For sparse matrices, it uses different storage formats, defines classes for different types of matrices and uses a Cholesky factorization based on UMFPACK, <span class="citation">Davis (2004)</span>.</p>
<p><code>spam</code> has a few functions that allow to transform matrix formats of the different packages.</p>
<p><code>spam</code> also contains functions that download matrices from MatrixMarket, a web side that stores many different sparse matrices. The function <code><a href="../reference/import.html">read.MM(file)</a></code>, very similar to the function <code>readMM</code> from <code>Matrix</code>, opens a connection, specified by the argument, and reads a matrix market file. However, as entries of <code>spam</code> matrices are of mode <code>double</code>, integers matrices are coerced to doubles, patterns lead to matrices containing ones and complex are coerced to the real part thereof. In these aforementioned cases, a warning is issued.</p>
<p>MatrixMarket also defines an array format, in which case a (possibly) dense <code>spam</code> object is return (retaining only elements which are larger than <code>getOption('spam.eps')</code>), a warning is issued.</p>
<p>MatrixMarket also defines an array format, in which case a (possibly) dense <code>spam</code> object is return (retaining only elements which are larger than <code><a href="https://www.rdocumentation.org/packages/base/topics/options">getOption('spam.eps')</a></code>), a warning is issued.</p>
<p>Similarly to <code><a href="../reference/import.html">read.MM(file)</a></code>, the function <code><a href="../reference/import.html">read.HB(file)</a></code> reads matrices in the Harwell-Boeing format. Currently, only real assembled Harwell-Boeing can be read with <code>read.HB</code>. Reading MatrixMarket formats is more flexible.</p>
<p>The functions are based on <code>readHB</code> and <code>readMM</code> from the library <code>Matrix</code> to build the connection and read the raw data. At present, <code><a href="../reference/import.html">read.MM(file)</a></code> is more flexible than <code>readMM</code>.</p>
<p>For many operations, <code>spam</code> is faster than <code>Matrix</code> and <code>SparseM</code>. It would also be interesting to compare <code>spam</code> and the sparse matrix routines of <code>Matlab</code> (see Figure 6 of <span class="citation">Furrer, Genton, and Nychka (2006)</span> for a comparison between <code>SparseM</code> and Matlab).</p>
......@@ -347,13 +348,12 @@ Sparsity structure of the Cholesky factor with MMD, RCM and no permutation of a
<footer><div class="copyright">
<p>Developed by Reinhard Furrer.</p>
<p>Developed by Reinhard Furrer, Florian Gerber, Roman Flury.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
......
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
......@@ -9,17 +9,17 @@
<title>Citation and Authors • spam</title>
<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
<!-- sticky kit -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script>
......@@ -35,7 +35,8 @@
<!-- mathjax -->
<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
......@@ -51,14 +52,15 @@
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -109,6 +111,7 @@
<div class="contents col-md-9">
<div class="page-header">
<h1>Citation</h1>
</div>
<p>Furrer R, Sain SR (2010).
......@@ -166,11 +169,11 @@ ISSN 0098-3004, doi: <a href="http://doi.org/10.1016/j.cageo.2016.11.015">10.101
</p>
</li>
<li>
<p><strong>Florian Gerber</strong>. Contributor.
<p><strong>Florian Gerber</strong>. Author.
</p>
</li>
<li>
<p><strong>Roman Flury</strong>. Contributor.
<p><strong>Roman Flury</strong>. Author.
</p>
</li>
<li>
......@@ -182,39 +185,39 @@ ISSN 0098-3004, doi: <a href="http://doi.org/10.1016/j.cageo.2016.11.015">10.101
</p>
</li>
<li>
<p><strong>Youcef Saad</strong>. Contributor.
<p><strong>Youcef Saad</strong>. Programmer.
<br /><small>SPARSEKIT http://www-users.cs.umn.edu/~saad/software/SPARSKIT/</small></p>
</li>
<li>
<p><strong>Esmond G. Ng</strong>. Contributor.
<p><strong>Esmond G. Ng</strong>. Programmer.
<br /><small>Fortran Cholesky routines</small></p>
</li>
<li>
<p><strong>Barry W. Peyton</strong>. Contributor.
<p><strong>Barry W. Peyton</strong>. Programmer.
<br /><small>Fortran Cholesky routines</small></p>
</li>
<li>
<p><strong>Joseph W.H. Liu</strong>. Contributor.
<p><strong>Joseph W.H. Liu</strong>. Programmer.
<br /><small>Fortran Cholesky routines</small></p>
</li>
<li>
<p><strong>Alan D. George</strong>. Contributor.
<p><strong>Alan D. George</strong>. Programmer.
<br /><small>Fortran Cholesky routines</small></p>
</li>
<li>
<p><strong>Lehoucq B. Rich</strong>. Contributor.
<p><strong>Lehoucq B. Rich</strong>. Programmer.
<br /><small>ARPACK</small></p>
</li>
<li>
<p><strong>Maschhoff Kristi</strong>. Contributor.
<p><strong>Maschhoff Kristi</strong>. Programmer.
<br /><small>ARPACK</small></p>
</li>
<li>
<p><strong>Sorensen C. Danny</strong>. Contributor.
<p><strong>Sorensen C. Danny</strong>. Programmer.
<br /><small>ARPACK</small></p>
</li>
<li>
<p><strong>Yang Chao</strong>. Contributor.
<p><strong>Yang Chao</strong>. Programmer.
<br /><small>ARPACK</small></p>
</li>
</ul>
......@@ -226,13 +229,12 @@ ISSN 0098-3004, doi: <a href="http://doi.org/10.1016/j.cageo.2016.11.015">10.101
<footer>
<div class="copyright">
<p>Developed by Reinhard Furrer.</p>
<p>Developed by Reinhard Furrer, Florian Gerber, Roman Flury.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
......
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SPArse Matrix • spam</title>
<!-- jquery --><script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script><!-- Font Awesome icons --><link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<script src="pkgdown.js"></script><meta property="og:title" content="SPArse Matrix">
<meta property="og:description" content="Set of functions for sparse matrix algebra.
Differences with other sparse matrix packages are:
......@@ -17,7 +17,7 @@
(3) tailored for MCMC calculations within G(M)RF.
(4) and it is fast and scalable (with the extension package spam64).">
<meta name="twitter:card" content="summary">
<!-- mathjax --><script src="https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><!--[if lt IE 9]>
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
......@@ -27,14 +27,15 @@
<header><div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -129,6 +130,8 @@
<h2>Developers</h2>
<ul class="list-unstyled">
<li>Reinhard Furrer <br><small class="roles"> Author, maintainer </small> </li>
<li>Florian Gerber <br><small class="roles"> Author </small> </li>
<li>Roman Flury <br><small class="roles"> Author </small> </li>
<li><a href="authors.html">All authors...</a></li>
</ul>
</div>
......@@ -138,6 +141,7 @@
<ul class="list-unstyled">
<li><a href="https://cran.r-project.org/package=spam"><img src="https://www.r-pkg.org/badges/version-ago/spam"></a></li>
<li><a href="https://cran.r-project.org/package=spam"><img src="https://cranlogs.r-pkg.org/badges/spam"></a></li>
<li><a href="https://cranlogs.r-pkg.org/badges/grand-total=spam"><img src="https://cranlogs.r-pkg.org/badges/grand-total/spam"></a></li>
</ul>
</div>
</div>
......@@ -146,13 +150,12 @@
<footer><div class="copyright">
<p>Developed by Reinhard Furrer.</p>
<p>Developed by Reinhard Furrer, Florian Gerber, Roman Flury.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
......
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
......@@ -9,17 +9,17 @@
<title>Changelog • spam</title>
<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha384-cV+rhyOuRHc9Ub/91rihWcGmMmCXDeksTtCihMupQHSsi8GIIRDG0ThDc3HGQFJ3" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
<!-- sticky kit -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script>
......@@ -35,7 +35,8 @@
<!-- mathjax -->
<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
......@@ -51,14 +52,15 @@
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">spam</a>
<span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="Released package">2.2.1</span>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.2.2</span>
</span>
</div>
......@@ -112,6 +114,15 @@
</div>
<div id="spam-2-2-2" class="section level1">
<h1 class="page-header">
<a href="#spam-2-2-2" class="anchor"></a>spam 2.2-2<small> 2019-03-08 </small>
</h1>
<p>BUG FIXES</p>
<ul>
<li>in testthat/test-constructors.R, which uses <code><a href="https://www.rdocumentation.org/packages/base/topics/sample">base::sample()</a></code> (<a href="http://developer.r-project.org/blosxom.cgi/R-devel/2019/02/26#n2019-02-26" class="uri">http://developer.r-project.org/blosxom.cgi/R-devel/2019/02/26#n2019-02-26</a>).</li>
</ul>
</div>
<div id="spam-2-2-1" class="section level1">
<h1 class="page-header">
<a href="#spam-2-2-1" class="anchor"></a>spam 2.2-1<small> 2018-12-20 </small>
......@@ -262,7 +273,7 @@
<li>Introduction of many as(‘spam’,‘…’) functions.</li>
<li>Coercion function <code>as.vector</code> for spam objects.</li>
<li>Wrapper functions <code>spam_rdist</code> and ’spam_rdist.earth<code>for smooth use in</code>fields`.</li>