astuanax/funmatrix

View on GitHub
docs/Matrix.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Matrix - Documentation</title>

    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>

<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
  <div class="navicon"></div>
</label>

<label for="nav-trigger" class="overlay"></label>

<nav>
    <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Matrix.html">Matrix</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.ap">ap</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.combine">combine</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.concat">concat</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.determinant">determinant</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.diag">diag</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.diagproduct">diagproduct</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.dot">dot</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.empty">empty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.flatMap">flatMap</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.flatten">flatten</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.fold">fold</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.getColumn">getColumn</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.getRow">getRow</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.kronecker">kronecker</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.map">map</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.matrixIdentity">matrixIdentity</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.of">of</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.ones">ones</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.random">random</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.sum">sum</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.transpose">transpose</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#.zeros">zeros</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#add">add</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#additiveinverse">additiveinverse</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#ap">ap</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#clone">clone</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#combine">combine</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#concat">concat</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#determinant">determinant</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#diag">diag</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#diagproduct">diagproduct</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#dimension">dimension</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#divide">divide</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#dot">dot</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#empty">empty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#equals">equals</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#fill">fill</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#flatMap">flatMap</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#flatten">flatten</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#fold">fold</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#fromArray">fromArray</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#getCols">getCols</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#getColumn">getColumn</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#getRow">getRow</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#getRows">getRows</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#getShape">getShape</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#hadamard">hadamard</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#inverse">inverse</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#isOrthogonal">isOrthogonal</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#isSquare">isSquare</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#isSymmetric">isSymmetric</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#kronecker">kronecker</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#lu">lu</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#map">map</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#matrixIdentity">matrixIdentity</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#max">max</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#min">min</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#multiply">multiply</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#ones">ones</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#random">random</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#rank">rank</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#rref">rref</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#setPrecision">setPrecision</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#solve">solve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#subtract">subtract</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#sum">sum</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#toArray">toArray</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#transpose">transpose</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Matrix.html#zeros">zeros</a></span></li><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#concat">concat</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#dot">dot</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#empty">empty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#generate">generate</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#matrixIdentity">matrixIdentity</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#round">round</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#solve">solve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#solveL">solveL</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#solveU">solveU</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#transpose">transpose</a></span></li>
</nav>

<div id="main">
    
    <h1 class="page-title">Matrix</h1>
    

    




<section>

<header>
    
        <h2>
        Matrix
        </h2>
        
            <div class="class-description">Matrix applicative providing standard matrix operations</div>
        
    
</header>

<article>
    <div class="container-overview">
    
        
<div class="section-method">

    
    <h2>Constructor</h2>
    

    <h4 class="name" id="Matrix"><span class="type-signature"></span>new Matrix<span class="signature">()</span><span class="type-signature"></span></h4>

    
    <p class="summary">The Matrix class should not be instantiated with the new keyword. Instead use the Matrix.of syntax to create a new Matrix. Unfortunatly jsdocs does not allow for the constructor to be hidden.</p>
    







<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line11">line 11</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Matrix.html#.of">Matrix.of</a></li>
        </ul>
    </dd>
    

    
</dl>























<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const m =  Matrix.of([[1,2],[2,3],[4,5]])</code></pre>

</div>

</div>
    
    </div>

    

    

    

     

    

    
        <h3 class="subsection-title">Members</h3>

        
            
<div class="section-members">
<h4 class="name" id="precision"><span class="type-signature"></span>precision<span class="type-signature"> :Number</span></h4>








    <h5 class="subsection-title">Properties:</h5>

    

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>precision</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">Floating point precision is set to 4 by default</td>
        </tr>

        

    
    </tbody>
</table>




<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line67">line 67</a>
    </li></ul></dd>
    

    

    

    
</dl>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><code>Number</code></span>


        </li>
    </ul>





    <h5>Example</h5>
    
    <pre class="prettyprint"><code>const m =  Matrix.of([[1,2],[2,3],[4,5]])
m.precision === 4</code></pre>


</div>

        
            
<div class="section-members">
<h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"> :String</span></h4>








    <h5 class="subsection-title">Properties:</h5>

    

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>String</code></span>


            
            </td>

            

            

            <td class="description last">Returns the string 'Matrix' for all Matrix objects</td>
        </tr>

        

    
    </tbody>
</table>




<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line56">line 56</a>
    </li></ul></dd>
    

    

    

    
</dl>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><code>String</code></span>


        </li>
    </ul>





    <h5>Example</h5>
    
    <pre class="prettyprint"><code>const m =  Matrix.of([[1,2],[2,3],[4,5]])
m.type === 'Matrix'</code></pre>


</div>

        
    

    
        <h3 class="subsection-title">Methods</h3>

        
            
<div class="section-method">

    

    <h4 class="name" id=".ap"><span class="type-signature">(static) </span>ap<span class="signature">(f, M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Curried function that applies a function to a Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line346">line 346</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                Function that accepts a Matrix as input
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix or Array to apply a function
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const f = x => x.reduce((prev, next) => prev + next)
Matrix.ap(f, [[1, 2, 3], [4, 5, 6], [7, 8, 9]])
// [[6], [15], [24]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".combine"><span class="type-signature">(static) </span>combine<span class="signature">(A, A)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Curried fucntion that combines 2 Matrices
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line480">line 480</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Matrix.html#.concat">Matrix.concat</a></li>
        </ul>
    </dd>
    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                Left side of the combine operator
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                Right side of the combine operator
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".concat"><span class="type-signature">(static) </span>concat<span class="signature">(A, B, f<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    A curried function that concatenates 2 Matrices using a function as operator
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line385">line 385</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">
                Left side Matrix of the concatenation
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>B</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">
                Right side Matrix of the concatenation
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    concat
                
                </td>
            

            <td class="description last">
                A curried function accepting 2 matrices as input
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[0, 1, 1], [2, 3, 4]]
const b = [[2, 2, 2], [3, 3, 3]]
const A = Matrix.of(a)
const B = Matrix.of(b)
const M = Matrix.concat(A, B)
// [[0, 1, 1, 2, 2, 2], [2, 3, 4, 3, 3, 3]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".determinant"><span class="type-signature">(static) </span>determinant<span class="signature">(A)</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Calculates the determinant of a square Matrix using Sarrus' rule or LU decomposition
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1167">line 1167</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix as input to calculate the determinant
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".diag"><span class="type-signature">(static) </span>diag<span class="signature">(M)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns an array containing the values on the diagonal
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1009">line 1009</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix from which to return the diagonal
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.diag([[2, 1], [1, 5]])
// [2, 5]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".diagproduct"><span class="type-signature">(static) </span>diagproduct<span class="signature">(M)</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Returns the product of the values on the diagonal
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1046">line 1046</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix from which to return the diagonal
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.diagproduct([[2, 1], [1, 5]])
// 10</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".dot"><span class="type-signature">(static) </span>dot<span class="signature">(A, B)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Curried fucntion that returns the dot product of 2 matrices
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line517">line 517</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Left side of the dot product
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>B</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Right side of the dot product
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6]]
const b = [[7, 8], [9, 10], [11, 12]]

const A = Matrix.of(a)
const B = Matrix.of(b)

Matrix.dot(A, B) // [[58, 64], [139, 154]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".empty"><span class="type-signature">(static) </span>empty<span class="signature">(rows<span class="signature-attributes">opt</span>, cols<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns an empty Matrix from an existing Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line418">line 418</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>rows</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">
                Rows to generate
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cols</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">
                Cols to generate
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".flatMap"><span class="type-signature">(static) </span>flatMap<span class="signature">(fn, M)</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    Runs flatMap on the value of hte Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line244">line 244</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                Flatten function
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>*</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
const flattenedArray = Matrix.flatMap(x => x, a)  // [1, 2, 3, 4, 5, 6, 7, 8, 9]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".flatten"><span class="type-signature">(static) </span>flatten<span class="signature">()</span><span class="type-signature"> &rarr; {Array|*}</span></h4>

    



<div class="description">
    Flattens the value of a Matrix into an one dimensional array
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line277">line 277</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>
<ul>
        <li>

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>

</li>
    
        <li>

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>*</code></span>


    </dd>
</dl>

</li>
    </ul>
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
const flattenedArray = Matrix.flatten(a)  // [1, 2, 3, 4, 5, 6, 7, 8, 9]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".fold"><span class="type-signature">(static) </span>fold<span class="signature">(f, M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Static function to reduce the matrix rows using a reduce function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line309">line 309</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                A reduce/fold function
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                The Matrix to reduce
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>// Sum of all matrix values
const reducer = (prev, next) => Number(prev) + next.reduce((acc, x) => acc + x, 0)
const A = Matrix.of([[1, 1], [1, 1]]
Matrix.fold(reducer, A)
// 4</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".getColumn"><span class="type-signature">(static) </span>getColumn<span class="signature">(index, M)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the values of a Matrix column
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1238">line 1238</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>index</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Index of the column
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".getRow"><span class="type-signature">(static) </span>getRow<span class="signature">(index, M)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the values of a Matrix row
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1261">line 1261</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>index</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Index of the row
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".kronecker"><span class="type-signature">(static) </span>kronecker<span class="signature">(A, B)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    The Kronecker product is an operation on two matrices of arbitrary size resulting in a block matrix.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1130">line 1130</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>A</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                The left side Matrix of the product (A ⊗ B)
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>B</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                The right side Matrix of the product (A ⊗ B)
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".map"><span class="type-signature">(static) </span>map<span class="signature">(f, M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Curried function that maps over the rows of the matrix using a map function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line209">line 209</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                An iterator function
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix or array to map
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const m = Matrix.map(x= > x.map(y => y+ 1), [[1, 1], [1, 1]])
// [[2, 2], [2, 2]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".matrixIdentity"><span class="type-signature">(static) </span>matrixIdentity<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    curried fucntion that returns an matrixIdentity matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line451">line 451</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.matrixIdentity(3, 2)
// [[1, 0, 0], [0, 1, 0]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".of"><span class="type-signature">(static) </span>of<span class="signature">(val)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Creates a Matrix object and flattens the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line26">line 26</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>val</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Array</code></span>
|

<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                An array of arrays
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const m =  Matrix.of([[1,2],[2,3],[4,5]])</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".ones"><span class="type-signature">(static) </span>ones<span class="signature">(rows, cols)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with ones
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line605">line 605</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>rows</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the rows of the matrix
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cols</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the columns of the matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.ones(1, 1)
// [[1,1,1], [1,1,1], [1,1,1]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".random"><span class="type-signature">(static) </span>random<span class="signature">(f, rows, cols)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with random numbers
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line634">line 634</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                Function which returns random values. Default random values are between -1 and 1
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>rows</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the rows of the matrix
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cols</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the columns of the matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".sum"><span class="type-signature">(static) </span>sum<span class="signature">(M)</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Returns the sum of the values in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1083">line 1083</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix from which to return the diagonal
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.sum([[2, 1], [1, 5]])
// 9</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".transpose"><span class="type-signature">(static) </span>transpose<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns a transposed Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line695">line 695</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                A Matrix or a matrix array
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [-1, 2], [3, 4], [-8, 2]
const b = Matrix.transpose(a).toArray()
// returns [[-1, 3,-8], [2, 4, 2]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".zeros"><span class="type-signature">(static) </span>zeros<span class="signature">(rows, cols)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with zeros
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line571">line 571</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>rows</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the rows of the matrix
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cols</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Defines the columns of the matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.zeros(3, 3)
// [[0,0,0], [0,0,0], [0,0,0]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="add"><span class="type-signature"></span>add<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Adds a number or a Matrix to this
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line711">line 711</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Add a Matrix or a number
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5, 4]])
A.add(1) // [[6, 5]]
const B = Matrix.of([[5, 5]])
B.add(B) // [[10, 10]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="additiveinverse"><span class="type-signature"></span>additiveinverse<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Function that returns the matrix obtained by changing the sign of every matrix element. The additive inverse of matrix A is written –A.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line787">line 787</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5,-5], [-4, 4]])
const minusA = A.additiveinverse()
// [[-5, 5], [4, -4]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="ap"><span class="type-signature"></span>ap<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Function that applies a function to a Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line329">line 329</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix or Array to apply a function
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const f = x => x.reduce((prev, next) => prev + next)
const A = Matrix.of([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Matrix.of(f).ap(M)
// [[6], [15], [24]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="clone"><span class="type-signature"></span>clone<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns a clone of the matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line658">line 658</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="combine"><span class="type-signature"></span>combine<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Concatenates 2 Matrices together.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line468">line 468</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Matrix.html#.concat">Matrix.concat</a></li>
        </ul>
    </dd>
    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                Right side Matrix of the combine operation
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="concat"><span class="type-signature"></span>concat<span class="signature">(M, f<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Concatenates 2 Matrices using a function as operator
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line364">line 364</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">
                The right side of the concatenation/product
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    concat
                
                </td>
            

            <td class="description last">
                A curried function accepting 2 matrices as input
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[0, 1, 1], [2, 3, 4]]
const b = [[2, 2, 2], [3, 3, 3]]
const A = Matrix.of(a)
const B = Matrix.of(b)
const M = A.concat(B)
// [[0, 1, 1, 2, 2, 2], [2, 3, 4, 3, 3, 3]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="determinant"><span class="type-signature"></span>determinant<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Calculates the determinant of a square Matrix using Sarrus' rule or LU decomposition
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1142">line 1142</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="diag"><span class="type-signature"></span>diag<span class="signature">()</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns an array containing the values on the diagonal
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line989">line 989</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.ones(3, 3).diag()
// [1, 1, 1]

const diag0 = Matrix.zeros(5, 5).diag()
// [0, 0, 0, 0, 0]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="diagproduct"><span class="type-signature"></span>diagproduct<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Returns the product of the values on the diagonal
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1025">line 1025</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.ones(3, 3).diagproduct()
// 1

const diag0 = Matrix.zeros(5, 5).diagproduct()
// 0</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="dimension"><span class="type-signature"></span>dimension<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Number indicating the maximum number of linearly independent columns.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line978">line 978</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Matrix.rank</li>
        </ul>
    </dd>
    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="divide"><span class="type-signature"></span>divide<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Divide a scalar or a matrix by a matrix. Throws an error if the division is not possible.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1198">line 1198</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                A Matrix M or a Number to divide a Matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5, 4]])
A.divide(2) // [[10, 8]]
const B = Matrix.of([[1, 1], [2, 4]])
B.divide(B) // [[1, 0], [0, 1]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="dot"><span class="type-signature"></span>dot<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns the dot product between 2 matrices
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line494">line 494</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Right side of the dot product
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>// Create matrix
const m = Matrix.of([[1, 2], [3, 4]])

// Generate matrixIdentity matrix
const I  = m.matrixIdentity() // [[1, 0], [0, 1]]

if(m.dot(I).equals(m)) {
   console.log('Dot product with matrixIdentity matrix returns the same matrix')
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="empty"><span class="type-signature"></span>empty<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns an empty Matrix from an existing Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line408">line 408</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="equals"><span class="type-signature"></span>equals<span class="signature">(M)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>

    



<div class="description">
    Function returning a boolean testing for equality of the values of a Matrix or Array
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line148">line 148</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                Matrix or Array to compare for equality
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Boolean</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>var a = [[1, 1], [1, 1]]
var A = Matrix.of(a)
var B = Matrix.of(a)
true  === A.equals(B)</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="fill"><span class="type-signature"></span>fill<span class="signature">(f)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with the provided map function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line539">line 539</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                Function that generates a value
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1,2,3], [3,2,1], [4,5,6]]).fill(x => 42)
// [[42,42,42], [42,42,42], [42,42,42]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="flatMap"><span class="type-signature"></span>flatMap<span class="signature">(fn)</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    Runs flatMap on the value of hte Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line227">line 227</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                Flatten function
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>*</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
const A = Matrix.of(a)
const flattenedArray = A.flatMap(x => x)  // [1, 2, 3, 4, 5, 6, 7, 8, 9]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="flatten"><span class="type-signature"></span>flatten<span class="signature">()</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Flattens the value of a Matrix into an one dimensional array
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line261">line 261</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
const A = Matrix.of(a)
const flattenedArray = A.flatten()  // [1, 2, 3, 4, 5, 6, 7, 8, 9]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="fold"><span class="type-signature"></span>fold<span class="signature">(f)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Reduce the matrix rows using a reduce function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line293">line 293</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                A reduce/fold function
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>// Flatten Matrix
Matrix.of([[1, 1], [1, 1]]).fold((prev, next) => prev.concat(next))
// [1, 1, 1, 1]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="fromArray"><span class="type-signature"></span>fromArray<span class="signature">()</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns a Matrix from an array
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line670">line 670</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="getCols"><span class="type-signature"></span>getCols<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Number indicating the number of columns in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line133">line 133</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [1, 1]])
A.getCols()  === 2</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="getColumn"><span class="type-signature"></span>getColumn<span class="signature">(index)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the values of a Matrix column
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1227">line 1227</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>index</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Index of the column
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="getRow"><span class="type-signature"></span>getRow<span class="signature">(index)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the values of a Matrix row
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1250">line 1250</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>index</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Index of the row
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="getRows"><span class="type-signature"></span>getRows<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Number indicating the number of rows in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line165">line 165</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [1, 1]])
A.getRows()  // 2</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="getShape"><span class="type-signature"></span>getShape<span class="signature">()</span><span class="type-signature"> &rarr; {Array}</span></h4>

    







<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line179">line 179</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [1, 1]])
A.getShape()  // [2, 2]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="hadamard"><span class="type-signature"></span>hadamard<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Hadamar is an alias of the multiply function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line802">line 802</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Matrix.multiply</li>
        
            <li>Matrix.hadamard</li>
        </ul>
    </dd>
    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                A Matrix M or a Number to multiply a Matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5, 4]])
A.hadamard(2) // [[10, 8]]
const B = Matrix.of([[5, 5]])
B.hadamard(B) // [[25, 25]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="inverse"><span class="type-signature"></span>inverse<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns the inverse of a Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line939">line 939</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [2, 4]]).inverse()
// [ [ 2, -0.5 ], [ -1, 0.5 ] ]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="isOrthogonal"><span class="type-signature"></span>isOrthogonal<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>

    



<div class="description">
    Boolean indicating whether the Matrix is orthogonal by testing for equality between Identity Matrix and the dot product of the Matrix and its transpose.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line116">line 116</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Boolean</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const result = [[-0.3092, -0.9510], [-0.9510, 0.3092]]
const A = Matrix.fromArray(result)
true  === A.isOrthogonal()</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="isSquare"><span class="type-signature"></span>isSquare<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>

    



<div class="description">
    Boolean indicating whether the Matrix object is square.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line101">line 101</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Boolean</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [1, 1]])
true === A.isSquare()</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="isSymmetric"><span class="type-signature"></span>isSymmetric<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>

    



<div class="description">
    Boolean indicating whether the Matrix is symmetric by testing for equality of the transposed Matrix.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line84">line 84</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Boolean</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1, 1], [1, 1]])
true === A.isSymmetric()</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="kronecker"><span class="type-signature"></span>kronecker<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    The Kronecker product is an operation on two matrices of arbitrary size resulting in a block matrix.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1099">line 1099</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


            
            </td>

            

            

            <td class="description last">
                The right side Matrix of the product (this ⊗ M)
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="lu"><span class="type-signature"></span>lu<span class="signature">()</span><span class="type-signature"> &rarr; {Array.&lt;<a href="Matrix.html">Matrix</a>>}</span></h4>

    



<div class="description">
    Calculates LU decomposition of the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line822">line 822</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array.&lt;<a href="Matrix.html">Matrix</a>></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const result = [[3, -7, -2, 2], [-3, 5, 1, 0], [6, -4, 0, -5], [-9, 5, -5, 12]]
const A = Matrix.fromArray(result)
const lu = A.lu()
// L.__value = [ [ 1, 0, 0, 0 ], [ -1, 1, 0, 0 ], [ 2, -5, 1, 0 ], [ -3, 8, 3, 1 ] ]
// U.__value =  [ [ 3, -7, -2, 2 ], [ 0, -2, -1, 2 ], [ 0, 0, -1, 1 ], [ 0, 0, 0, -1 ] ]
Matrix.dot(lu[0], lu[1]) // returns clone of A</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="map"><span class="type-signature"></span>map<span class="signature">(f)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Maps over the rows of the matrix using a map function
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line192">line 192</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                An iterator function
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const m = Matrix.of([[1, 1], [1, 1]])
m.map(x => x.map(y => y+ 1))
// [[2, 2], [2, 2]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="matrixIdentity"><span class="type-signature"></span>matrixIdentity<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns an matrixIdentity matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line434">line 434</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const a = [[1, 2, 3], [4, 5, 6]]
const A = Matrix.of(a)
const Aidentity = A.matrixIdentity()
// [[1, 0, 0], [0, 1, 0]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="max"><span class="type-signature"></span>max<span class="signature">()</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    Returns the largest number in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1178">line 1178</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>*</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="min"><span class="type-signature"></span>min<span class="signature">()</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    Returns the smallest number in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1188">line 1188</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>*</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="multiply"><span class="type-signature"></span>multiply<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Mutliply a scalar or a matrix with a matrix. Throws an error if the multiplication is not possible.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line761">line 761</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                A Matrix M or a Number to multiply a Matrix
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5, 4]])
A.multiply(2) // [[10, 8]]
const B = Matrix.of([[5, 5]])
B.multiply(B) // [[25, 25]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="ones"><span class="type-signature"></span>ones<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with ones
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line589">line 589</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1,2,3], [3,2,1], [4,5,6]]).ones()
// [[1,1,1], [1,1,1], [1,1,1]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="random"><span class="type-signature"></span>random<span class="signature">(f<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with random values
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line623">line 623</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>f</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    e => Math.random() * 2 - 1
                
                </td>
            

            <td class="description last">
                Function producing random values, can be any type of value
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="rank"><span class="type-signature"></span>rank<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Number indicating the maximum number of linearly independent columns.
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line963">line 963</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="rref"><span class="type-signature"></span>rref<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns a Matrix containing the row reduced echelon form
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line860">line 860</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>var A = Matrix.of([[-1, 1], [-1, 0], [0, -1], [-1, -2]])
A.rref() //  [ [ 1, 0 ], [ -0, 1 ], [ 0, 0 ], [ 0, 0 ] ]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="setPrecision"><span class="type-signature"></span>setPrecision<span class="signature">(precision<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>

    



<div class="description">
    The precision is used in floating point calculations for the dot product
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line69">line 69</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>precision</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Number</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    4
                
                </td>
            

            <td class="description last">
                Set the number of decimals for rounding
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const m =  Matrix.of([[1,2],[2,3],[4,5]])
m.setPrecision(10)
m.precision === 10</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="solve"><span class="type-signature"></span>solve<span class="signature">(b)</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the solution for a system of linear equations
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line911">line 911</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>b</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Array</code></span>


            
            </td>

            

            

            <td class="description last">
                The numbers for which to solve the system of linear equations
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>// Solve xA = b
// 5x + y  = 7
// 3x - 4y = 18
// Solution for x and y:
// x = 2
// y = -3

const A = Matrix.of([[5, 1], [3, -4]])
const solveA = A.solve([7, 18]) // [2, -3]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="subtract"><span class="type-signature"></span>subtract<span class="signature">(M)</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Subtracts a number or a Matrix from this
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line736">line 736</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>M</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>
|

<span class="param-type"><code>Number</code></span>


            
            </td>

            

            

            <td class="description last">
                Subtract a Matrix or a number
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[5, 4]])
A.subtract(1) // [[4, 2]]
const B = Matrix.of([[5, 5]])
B.subtract(B) // [[0, 0]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="sum"><span class="type-signature"></span>sum<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span></h4>

    



<div class="description">
    Returns the sum of the values in the Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line1062">line 1062</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Number</code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const diag1 = Matrix.ones(3, 3).sum()
// 9

const diag0 = Matrix.zeros(5, 5).sum()
// 0</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="toArray"><span class="type-signature"></span>toArray<span class="signature">()</span><span class="type-signature"> &rarr; {Array}</span></h4>

    



<div class="description">
    Returns the array from the matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line648">line 648</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array</code></span>


    </dd>
</dl>


    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="transpose"><span class="type-signature"></span>transpose<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Returns a transposed Matrix
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line680">line 680</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([-1, 2], [3, 4], [-8, 2])
const b = A.transpose().toArray()
// returns [[-1, 3,-8], [2, 4, 2]]</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id="zeros"><span class="type-signature"></span>zeros<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>

    



<div class="description">
    Fill up an empty matrix with zeros
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="matrix.js.html">matrix.js</a>, <a href="matrix.js.html#line555">line 555</a>
    </li></ul></dd>
    

    

    

    
</dl>





















<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Matrix.html">Matrix</a></code></span>


    </dd>
</dl>


    
</div>



<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>const A = Matrix.of([[1,2,3], [3,2,1], [4,5,6]]).zeros()
// [[0,0,0], [0,0,0], [0,0,0]]</code></pre>

</div>

</div>
        
    

    

    
</article>

</section>




</div>

<br class="clear">

<footer>
    Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 27 2019 17:17:54 GMT+0100 (Central European Standard Time) using the Minami theme.
</footer>

<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
</body>
</html>