apatite/docs/Apatite.html

894 lines
27 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.29.0">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/doc.js"></script>
<script type="text/javascript">
CrystalDoc.base_path = "";
</script>
<meta id="repository-name" content="github.com/watzon/apatite">
<title>Apatite - github.com/watzon/apatite</title>
</head>
<body>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="repository-links">
<a href="index.html">README</a>
</div>
</div>
<div class="search-results" class="hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="github.com/watzon/apatite/Apatite" data-name="apatite">
<a href="Apatite.html">Apatite</a>
<ul>
<li class="parent " data-id="github.com/watzon/apatite/Apatite/LinearAlgebra" data-name="apatite::linearalgebra">
<a href="Apatite/LinearAlgebra.html">LinearAlgebra</a>
<ul>
<li class=" " data-id="github.com/watzon/apatite/Apatite/LinearAlgebra/Matrix" data-name="apatite::linearalgebra::matrix">
<a href="Apatite/LinearAlgebra/Matrix.html">Matrix</a>
</li>
<li class=" " data-id="github.com/watzon/apatite/Apatite/LinearAlgebra/NDArray" data-name="apatite::linearalgebra::ndarray">
<a href="Apatite/LinearAlgebra/NDArray.html">NDArray</a>
</li>
<li class=" " data-id="github.com/watzon/apatite/Apatite/LinearAlgebra/Vector" data-name="apatite::linearalgebra::vector">
<a href="Apatite/LinearAlgebra/Vector.html">Vector</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="github.com/watzon/apatite/Array" data-name="array(t)">
<a href="Array.html">Array</a>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">module</span> Apatite
</h1>
<h2>Overview</h2>
<p>Apatite is a fundimental package for scientific computing in Crystal. If that
sounds like a modified version of the first line from the NumPy homepage,
that's because it is. Apatite has (ok, will have) all of the goodness
of NumPy sitting atop the blazing speed and beautiful syntax
of Crystal.</p>
<h2>Included Modules</h2>
<ul class="other-types-list">
<li class="other-type"><a href="Apatite/LinearAlgebra.html">Apatite::LinearAlgebra</a></li>
</ul>
<h2>Extended Modules</h2>
<ul class="other-types-list">
<li class="other-type"><a href="Apatite.html">Apatite</a></li>
</ul>
<h2>Defined in:</h2>
<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite/linear_algebra/ndarray.cr#L1" target="_blank">
apatite/linear_algebra/ndarray.cr
</a>
<br/>
<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite/linear_algebra.cr#L5" target="_blank">
apatite/linear_algebra.cr
</a>
<br/>
<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L10" target="_blank">
apatite.cr
</a>
<br/>
<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite/version.cr#L1" target="_blank">
apatite/version.cr
</a>
<br/>
<h2>Constant Summary</h2>
<dl>
<dt class="entry-const" id="I">
<strong>I</strong> = <code><span class="t">Vector</span><span class="t">::</span><span class="t">I</span></code>
</dt>
<dd class="entry-const-doc">
<p>Cartesian unit vector I</p>
<p><code><a href="Apatite/LinearAlgebra/Vector.html">Vector</a>{1.0, 0.0, 0.0}</code></p>
</dd>
<dt class="entry-const" id="J">
<strong>J</strong> = <code><span class="t">Vector</span><span class="t">::</span><span class="t">J</span></code>
</dt>
<dd class="entry-const-doc">
<p>Cartesian unit vector J</p>
<p><code><a href="Apatite/LinearAlgebra/Vector.html">Vector</a>{0.0, 1.0, 0.0}</code></p>
</dd>
<dt class="entry-const" id="K">
<strong>K</strong> = <code><span class="t">Vector</span><span class="t">::</span><span class="t">K</span></code>
</dt>
<dd class="entry-const-doc">
<p>Cartesian unit vector K</p>
<p><code><a href="Apatite/LinearAlgebra/Vector.html">Vector</a>{0.0, 0.0, 1.0}</code></p>
</dd>
<dt class="entry-const" id="VERSION">
<strong>VERSION</strong> = <code><span class="s">&quot;0.1.0&quot;</span></code>
</dt>
</dl>
<h2>Class Method Summary</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#approx_precision-class-method" class="signature"><strong>.approx_precision</strong></a>
</li>
<li class="entry-summary">
<a href="#approx_precision%3D%28approx_precision%29-class-method" class="signature"><strong>.approx_precision=</strong>(approx_precision)</a>
</li>
<li class="entry-summary">
<a href="#precision-class-method" class="signature"><strong>.precision</strong></a>
</li>
<li class="entry-summary">
<a href="#precision%3D%28precision%29-class-method" class="signature"><strong>.precision=</strong>(precision)</a>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#angle_from%28a%2Cb%29-instance-method" class="signature"><strong>#angle_from</strong>(a, b)</a>
<div class="summary"><p>Returns the angle between this vector and another in radians.</p></div>
</li>
<li class="entry-summary">
<a href="#antiparallel_to%3F%28a%2Cb%29-instance-method" class="signature"><strong>#antiparallel_to?</strong>(a, b)</a>
<div class="summary"><p>Returns whether the vectors are antiparallel to each other.</p></div>
</li>
<li class="entry-summary">
<a href="#as_vector%28input%3AIndexable%29-instance-method" class="signature"><strong>#as_vector</strong>(input : Indexable)</a>
<div class="summary"><p>Creates a new vector from the given <code>input</code>.</p></div>
</li>
<li class="entry-summary">
<a href="#basis%28size%2Cindex%29-instance-method" class="signature"><strong>#basis</strong>(size, index)</a>
<div class="summary"><p>Creates a standard basis-n vector of the given <code>size</code> and <code>index</code>.</p></div>
</li>
<li class="entry-summary">
<a href="#cosine%28x%2Cy%29-instance-method" class="signature"><strong>#cosine</strong>(x, y)</a>
<div class="summary"><p>Compute the cosine distance between two vectors.</p></div>
</li>
<li class="entry-summary">
<a href="#diagonal%28values%29-instance-method" class="signature"><strong>#diagonal</strong>(values)</a>
<div class="summary"><p>Creates a matrix where the diagonal elements are composed of <code>values</code>.</p></div>
</li>
<li class="entry-summary">
<a href="#dot%28x%2Cy%29-instance-method" class="signature"><strong>#dot</strong>(x, y)</a>
<div class="summary"><p>Get the scalar (dot) product of two vectors.</p></div>
</li>
<li class="entry-summary">
<a href="#empty-instance-method" class="signature"><strong>#empty</strong></a>
<div class="summary"><p>Returns a new empty <code><a href="Apatite/LinearAlgebra/Vector.html">Vector</a></code></p></div>
</li>
<li class="entry-summary">
<a href="#empty_matrix%28row_count%3D0%2Ccolumn_count%3D0%29-instance-method" class="signature"><strong>#empty_matrix</strong>(row_count = <span class="n">0</span>, column_count = <span class="n">0</span>)</a>
<div class="summary"><p>Creates a new empty matrix with the given <code>row_count</code> and <code>column_count</code>.</p></div>
</li>
<li class="entry-summary">
<a href="#eye%28n%29-instance-method" class="signature"><strong>#eye</strong>(n)</a>
<div class="summary"><p>Creates a new diagonal matrix of size <code>n</code> with ones in the diagonal and zeros elsewhere.</p></div>
</li>
<li class="entry-summary">
<a href="#full%28n%2Ci%29-instance-method" class="signature"><strong>#full</strong>(n, i)</a>
<div class="summary"><p>Returns a new vector of size <code>n</code> filled with <code>i</code></p></div>
</li>
<li class="entry-summary">
<a href="#identity%28n%29-instance-method" class="signature"><strong>#identity</strong>(n)</a>
<div class="summary"><p>Creates a <code>n x n</code> identity matrix.</p></div>
</li>
<li class="entry-summary">
<a href="#ones%28n%29-instance-method" class="signature"><strong>#ones</strong>(n)</a>
<div class="summary"><p>Returns a new vector filled with <code>n</code> ones.</p></div>
</li>
<li class="entry-summary">
<a href="#parallel_to%3F%28a%2Cb%29-instance-method" class="signature"><strong>#parallel_to?</strong>(a, b)</a>
<div class="summary"><p>Returns whether the vectors are parallel to each other.</p></div>
</li>
<li class="entry-summary">
<a href="#perpendicular_to%3F%28a%2Cb%29-instance-method" class="signature"><strong>#perpendicular_to?</strong>(a, b)</a>
<div class="summary"><p>Returns whether the vectors are perpendicular to each other.</p></div>
</li>
<li class="entry-summary">
<a href="#random%28n%2Crange%3Dnil%29-instance-method" class="signature"><strong>#random</strong>(n, range = <span class="n">nil</span>)</a>
<div class="summary"><p>Creates a new vector of size <code>n</code> filled with random numbers.</p></div>
</li>
<li class="entry-summary">
<a href="#row_vector%28row%29-instance-method" class="signature"><strong>#row_vector</strong>(row)</a>
<div class="summary"><p>Creates a single-row matrix where the values of that row are as given in <code>row</code>.</p></div>
</li>
<li class="entry-summary">
<a href="#scalar%28n%2Cvalue%29-instance-method" class="signature"><strong>#scalar</strong>(n, value)</a>
<div class="summary"><p>Creates an <code>n</code> by <code>n</code> diagonal matrix where each diagonal element is value.</p></div>
</li>
<li class="entry-summary">
<a href="#similarity%28x%2Cy%29-instance-method" class="signature"><strong>#similarity</strong>(x, y)</a>
<div class="summary"><p>Compute the cosine similarity of two vectors.</p></div>
</li>
<li class="entry-summary">
<a href="#vector%28n%2C%26block%29-instance-method" class="signature"><strong>#vector</strong>(n, &block)</a>
<div class="summary"><p>Creates a new vector of size <code>n</code>, and invokes the block once for each index of <code>self</code>, assigning the block's value in that index.</p></div>
</li>
<li class="entry-summary">
<a href="#zeros%28n%29-instance-method" class="signature"><strong>#zeros</strong>(n)</a>
<div class="summary"><p>Returns a new vector filled with <code>n</code> zeros.</p></div>
</li>
</ul>
<div class="methods-inherited">
<h3>Instance methods inherited from module <code><a href="Apatite/LinearAlgebra.html">Apatite::LinearAlgebra</a></code></h3>
<a href="Apatite/LinearAlgebra.html#sigmoid%28input%3ANumber%29-instance-method" class="tooltip">
<span>sigmoid(input : Number)</span>
sigmoid</a>,
<a href="Apatite/LinearAlgebra.html#sigmoid_d%28input%3ANumber%29-instance-method" class="tooltip">
<span>sigmoid_d(input : Number)</span>
sigmoid_d</a>
</div>
<h2>Class Method Detail</h2>
<div class="entry-detail" id="approx_precision-class-method">
<div class="signature">
def self.<strong>approx_precision</strong>
<a class="method-permalink" href="#approx_precision-class-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L18" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="approx_precision=(approx_precision)-class-method">
<div class="signature">
def self.<strong>approx_precision=</strong>(approx_precision)
<a class="method-permalink" href="#approx_precision%3D%28approx_precision%29-class-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L22" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="precision-class-method">
<div class="signature">
def self.<strong>precision</strong>
<a class="method-permalink" href="#precision-class-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L17" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="precision=(precision)-class-method">
<div class="signature">
def self.<strong>precision=</strong>(precision)
<a class="method-permalink" href="#precision%3D%28precision%29-class-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L21" target="_blank">View source</a>]
</div>
</div>
<h2>Instance Method Detail</h2>
<div class="entry-detail" id="angle_from(a,b)-instance-method">
<div class="signature">
def <strong>angle_from</strong>(a, b)
<a class="method-permalink" href="#angle_from%28a%2Cb%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns the angle between this vector and another in radians.
If the vectors are mirrored across their axes this will return <code>nil</code>.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L150" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="antiparallel_to?(a,b)-instance-method">
<div class="signature">
def <strong>antiparallel_to?</strong>(a, b)
<a class="method-permalink" href="#antiparallel_to%3F%28a%2Cb%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns whether the vectors are antiparallel to each other.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L183" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="as_vector(input:Indexable)-instance-method">
<div class="signature">
def <strong>as_vector</strong>(input : Indexable)
<a class="method-permalink" href="#as_vector%28input%3AIndexable%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a new vector from the given <code>input</code>. Input can be any
<code>Indexable</code> type.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L65" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="basis(size,index)-instance-method">
<div class="signature">
def <strong>basis</strong>(size, index)
<a class="method-permalink" href="#basis%28size%2Cindex%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a standard basis-n vector of the given <code>size</code> and <code>index</code>.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L70" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="cosine(x,y)-instance-method">
<div class="signature">
def <strong>cosine</strong>(x, y)
<a class="method-permalink" href="#cosine%28x%2Cy%29-instance-method">#</a>
</div>
<div class="doc"><p>Compute the cosine distance between two vectors.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L144" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="diagonal(values)-instance-method">
<div class="signature">
def <strong>diagonal</strong>(values)
<a class="method-permalink" href="#diagonal%28values%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a matrix where the diagonal elements are composed of <code>values</code>.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L93" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="dot(x,y)-instance-method">
<div class="signature">
def <strong>dot</strong>(x, y)
<a class="method-permalink" href="#dot%28x%2Cy%29-instance-method">#</a>
</div>
<div class="doc"><p>Get the scalar (dot) product of two vectors.</p>
<p>[https://en.wikipedia.org/wiki/Scalar_product](https://en.wikipedia.org/wiki/Scalar_product</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L125" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="empty-instance-method">
<div class="signature">
def <strong>empty</strong>
<a class="method-permalink" href="#empty-instance-method">#</a>
</div>
<div class="doc"><p>Returns a new empty <code><a href="Apatite/LinearAlgebra/Vector.html">Vector</a></code></p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L38" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="empty_matrix(row_count=0,column_count=0)-instance-method">
<div class="signature">
def <strong>empty_matrix</strong>(row_count = <span class="n">0</span>, column_count = <span class="n">0</span>)
<a class="method-permalink" href="#empty_matrix%28row_count%3D0%2Ccolumn_count%3D0%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a new empty matrix with the given <code>row_count</code> and
<code>column_count</code>. At lease one of <code>row_count</code> or
<code>column_count</code> must be zero.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L88" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="eye(n)-instance-method">
<div class="signature">
def <strong>eye</strong>(n)
<a class="method-permalink" href="#eye%28n%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a new diagonal matrix of size <code>n</code> with ones in the diagonal
and zeros elsewhere.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L99" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="full(n,i)-instance-method">
<div class="signature">
def <strong>full</strong>(n, i)
<a class="method-permalink" href="#full%28n%2Ci%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns a new vector of size <code>n</code> filled with <code>i</code></p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L53" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="identity(n)-instance-method">
<div class="signature">
def <strong>identity</strong>(n)
<a class="method-permalink" href="#identity%28n%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a <code>n x n</code> identity matrix.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L104" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="ones(n)-instance-method">
<div class="signature">
def <strong>ones</strong>(n)
<a class="method-permalink" href="#ones%28n%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns a new vector filled with <code>n</code> ones.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L43" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="parallel_to?(a,b)-instance-method">
<div class="signature">
def <strong>parallel_to?</strong>(a, b)
<a class="method-permalink" href="#parallel_to%3F%28a%2Cb%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns whether the vectors are parallel to each other.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L177" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="perpendicular_to?(a,b)-instance-method">
<div class="signature">
def <strong>perpendicular_to?</strong>(a, b)
<a class="method-permalink" href="#perpendicular_to%3F%28a%2Cb%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns whether the vectors are perpendicular to each other.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L189" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="random(n,range=nil)-instance-method">
<div class="signature">
def <strong>random</strong>(n, range = <span class="n">nil</span>)
<a class="method-permalink" href="#random%28n%2Crange%3Dnil%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a new vector of size <code>n</code> filled with random numbers. A <code>range</code>
can optionally be passed in if you want to limit the random numbers
to a given range.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L77" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="row_vector(row)-instance-method">
<div class="signature">
def <strong>row_vector</strong>(row)
<a class="method-permalink" href="#row_vector%28row%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a single-row matrix where the values of that row are as given in <code>row</code>.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L109" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="scalar(n,value)-instance-method">
<div class="signature">
def <strong>scalar</strong>(n, value)
<a class="method-permalink" href="#scalar%28n%2Cvalue%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates an <code>n</code> by <code>n</code> diagonal matrix where each diagonal element is value.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L114" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="similarity(x,y)-instance-method">
<div class="signature">
def <strong>similarity</strong>(x, y)
<a class="method-permalink" href="#similarity%28x%2Cy%29-instance-method">#</a>
</div>
<div class="doc"><p>Compute the cosine similarity of two vectors.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L136" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="vector(n,&amp;block)-instance-method">
<div class="signature">
def <strong>vector</strong>(n, &block)
<a class="method-permalink" href="#vector%28n%2C%26block%29-instance-method">#</a>
</div>
<div class="doc"><p>Creates a new vector of size <code>n</code>, and invokes the block once
for each index of <code>self</code>, assigning the block's value in that index.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L59" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="zeros(n)-instance-method">
<div class="signature">
def <strong>zeros</strong>(n)
<a class="method-permalink" href="#zeros%28n%29-instance-method">#</a>
</div>
<div class="doc"><p>Returns a new vector filled with <code>n</code> zeros.</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/apatite/blob/3b35b9b5423d8844e655533c4ee56ca80012b390/src/apatite.cr#L48" target="_blank">View source</a>]
</div>
</div>
</div>
</body>
</html>