Skip to content

Commit

Permalink
Merge pull request #102 from jacobdwatters/develop
Browse files Browse the repository at this point in the history
Implementations and tests for real and complex sparse CSR matrices.
  • Loading branch information
jacobdwatters authored Jul 29, 2024
2 parents 6621065 + 7633350 commit 7f2b886
Show file tree
Hide file tree
Showing 768 changed files with 154,213 additions and 16,857 deletions.
1,049 changes: 810 additions & 239 deletions docs/allclasses-index.html

Large diffs are not rendered by default.

114 changes: 73 additions & 41 deletions docs/allpackages-index.html

Large diffs are not rendered by default.

301 changes: 299 additions & 2 deletions docs/constant-values.html

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions docs/element-list
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
org.flag4j
org.flag4j.arrays.dense
org.flag4j.arrays.sparse
org.flag4j.complex_matrix
org.flag4j.complex_numbers
org.flag4j.complex_sparse_matrix
org.flag4j.complex_tensor
org.flag4j.complex_vector
org.flag4j.concurrency
org.flag4j.core
org.flag4j.core.dense_base
org.flag4j.core.sparse_base
org.flag4j.dense
org.flag4j.io
org.flag4j.linalg
org.flag4j.linalg.decompositions
Expand All @@ -28,25 +31,33 @@ org.flag4j.operations
org.flag4j.operations.common
org.flag4j.operations.common.complex
org.flag4j.operations.common.real
org.flag4j.operations.dense_sparse.complex
org.flag4j.operations.dense_sparse.coo.complex
org.flag4j.operations.dense_sparse.coo.real
org.flag4j.operations.dense_sparse.coo.real_complex
org.flag4j.operations.dense_sparse.csr.complex
org.flag4j.operations.dense_sparse.csr.real
org.flag4j.operations.dense_sparse.csr.real_complex
org.flag4j.operations.dense_sparse.real
org.flag4j.operations.dense_sparse.real_complex
org.flag4j.operations.dense.complex
org.flag4j.operations.dense.real
org.flag4j.operations.dense.real_complex
org.flag4j.operations.sparse.coo
org.flag4j.operations.sparse.coo.complex
org.flag4j.operations.sparse.coo.real
org.flag4j.operations.sparse.coo.real_complex
org.flag4j.operations.sparse.csr.complex
org.flag4j.operations.sparse.csr.real
org.flag4j.operations.sparse.csr.real_complex
org.flag4j.rng
org.flag4j.sparse
org.flag4j.sparse_complex_matrix
org.flag4j.sparse_complex_tensor
org.flag4j.sparse_complex_vector
org.flag4j.sparse_csr_complex_matrix
org.flag4j.sparse_csr_matrix
org.flag4j.sparse_matrix
org.flag4j.sparse_tensor
org.flag4j.sparse_vector
org.flag4j.tensor
org.flag4j.util
Expand Down
4 changes: 2 additions & 2 deletions docs/help-doc.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) on Wed Jul 10 19:04:27 MDT 2024 -->
<!-- Generated by javadoc (16) on Thu Jul 25 11:34:13 MDT 2024 -->
<title>API Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-07-10">
<meta name="dc.created" content="2024-07-25">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down
2,283 changes: 1,851 additions & 432 deletions docs/index-files/index-1.html

Large diffs are not rendered by default.

62 changes: 35 additions & 27 deletions docs/index-files/index-10.html

Large diffs are not rendered by default.

179 changes: 11 additions & 168 deletions docs/index-files/index-11.html

Large diffs are not rendered by default.

1,163 changes: 112 additions & 1,051 deletions docs/index-files/index-12.html

Large diffs are not rendered by default.

1,654 changes: 1,468 additions & 186 deletions docs/index-files/index-13.html

Large diffs are not rendered by default.

569 changes: 383 additions & 186 deletions docs/index-files/index-14.html

Large diffs are not rendered by default.

368 changes: 259 additions & 109 deletions docs/index-files/index-15.html

Large diffs are not rendered by default.

304 changes: 289 additions & 15 deletions docs/index-files/index-16.html

Large diffs are not rendered by default.

1,269 changes: 23 additions & 1,246 deletions docs/index-files/index-17.html

Large diffs are not rendered by default.

3,966 changes: 1,455 additions & 2,511 deletions docs/index-files/index-18.html

Large diffs are not rendered by default.

4,610 changes: 4,167 additions & 443 deletions docs/index-files/index-19.html

Large diffs are not rendered by default.

406 changes: 402 additions & 4 deletions docs/index-files/index-2.html

Large diffs are not rendered by default.

1,116 changes: 1,069 additions & 47 deletions docs/index-files/index-20.html

Large diffs are not rendered by default.

193 changes: 59 additions & 134 deletions docs/index-files/index-21.html

Large diffs are not rendered by default.

345 changes: 310 additions & 35 deletions docs/index-files/index-22.html

Large diffs are not rendered by default.

70 changes: 55 additions & 15 deletions docs/index-files/index-23.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) on Wed Jul 10 19:04:27 MDT 2024 -->
<title>X-Index</title>
<!-- Generated by javadoc (16) on Thu Jul 25 11:34:13 MDT 2024 -->
<title>W-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-07-10">
<meta name="description" content="index: X">
<meta name="dc.created" content="2024-07-25">
<meta name="description" content="index: W">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
Expand Down Expand Up @@ -53,27 +53,67 @@
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">L</a>&nbsp;<a href="index-12.html">M</a>&nbsp;<a href="index-13.html">N</a>&nbsp;<a href="index-14.html">O</a>&nbsp;<a href="index-15.html">P</a>&nbsp;<a href="index-16.html">Q</a>&nbsp;<a href="index-17.html">R</a>&nbsp;<a href="index-18.html">S</a>&nbsp;<a href="index-19.html">T</a>&nbsp;<a href="index-20.html">U</a>&nbsp;<a href="index-21.html">V</a>&nbsp;<a href="index-22.html">W</a>&nbsp;<a href="index-23.html">X</a>&nbsp;<a href="index-24.html">Z</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
<h2 class="title" id="I:X">X</h2>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a href="index-24.html">X</a>&nbsp;<a href="index-25.html">Z</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
<h2 class="title" id="I:W">W</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html#x">x</a></span> - Variable in class org.flag4j.linalg.solvers.exact.triangular.<a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html" title="class in org.flag4j.linalg.solvers.exact.triangular">BackSolver</a></dt>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/decompositions/schur/Schur.html#workArray">workArray</a></span> - Variable in class org.flag4j.linalg.decompositions.schur.<a href="../org/flag4j/linalg/decompositions/schur/Schur.html" title="class in org.flag4j.linalg.decompositions.schur">Schur</a></dt>
<dd>
<div class="block">For storing vector results.</div>
<div class="block">An array for storing temporary values along the colum of a matrix when applying Householder reflectors.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html#X">X</a></span> - Variable in class org.flag4j.linalg.solvers.exact.triangular.<a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html" title="class in org.flag4j.linalg.solvers.exact.triangular">BackSolver</a></dt>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/decompositions/unitary/UnitaryDecomposition.html#workArray">workArray</a></span> - Variable in class org.flag4j.linalg.decompositions.unitary.<a href="../org/flag4j/linalg/decompositions/unitary/UnitaryDecomposition.html" title="class in org.flag4j.linalg.decompositions.unitary">UnitaryDecomposition</a></dt>
<dd>
<div class="block">For storing matrix results.</div>
<div class="block">For temporarily storage when applying Householder vectors.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html#xCol">xCol</a></span> - Variable in class org.flag4j.linalg.solvers.exact.triangular.<a href="../org/flag4j/linalg/solvers/exact/triangular/BackSolver.html" title="class in org.flag4j.linalg.solvers.exact.triangular">BackSolver</a></dt>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(double%5B%5D,int%5B%5D)">wrap(double[], int[])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">For temporary storage of matrix columns to help improve cache performance.</div>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/triangular/ForwardSolver.html#xCol">xCol</a></span> - Variable in class org.flag4j.linalg.solvers.exact.triangular.<a href="../org/flag4j/linalg/solvers/exact/triangular/ForwardSolver.html" title="class in org.flag4j.linalg.solvers.exact.triangular">ForwardSolver</a></dt>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(double%5B%5D,int%5B%5D%5B%5D)">wrap(double[], int[][])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">Temporary storage for columns of the solution matrix.</div>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(double%5B%5D,int%5B%5D,int%5B%5D)">wrap(double[], int[], int[])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/ComplexExactTensorSolver.html#wrap(org.flag4j.arrays.dense.CVector,org.flag4j.core.Shape)">wrap(CVector, Shape)</a></span> - Method in class org.flag4j.linalg.solvers.exact.<a href="../org/flag4j/linalg/solvers/exact/ComplexExactTensorSolver.html" title="class in org.flag4j.linalg.solvers.exact">ComplexExactTensorSolver</a></dt>
<dd>
<div class="block">Wraps solution as a tensor and reshapes to the proper shape.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/RealExactTensorSolver.html#wrap(org.flag4j.arrays.dense.Vector,org.flag4j.core.Shape)">wrap(Vector, Shape)</a></span> - Method in class org.flag4j.linalg.solvers.exact.<a href="../org/flag4j/linalg/solvers/exact/RealExactTensorSolver.html" title="class in org.flag4j.linalg.solvers.exact">RealExactTensorSolver</a></dt>
<dd>
<div class="block">Wraps solution as a tensor and reshapes to the proper shape.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(T%5B%5D,int%5B%5D)">wrap(T[], int[])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(T%5B%5D,int%5B%5D%5B%5D)">wrap(T[], int[][])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html#wrap(T%5B%5D,int%5B%5D,int%5B%5D)">wrap(T[], int[], int[])</a></span> - Static method in class org.flag4j.operations.sparse.coo.<a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo">SparseDataWrapper</a></dt>
<dd>
<div class="block">Factory method which wraps data in an instance of <a href="../org/flag4j/operations/sparse/coo/SparseDataWrapper.html" title="class in org.flag4j.operations.sparse.coo"><code>SparseDataWrapper</code></a> and returns that instance.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/linalg/solvers/exact/ExactTensorSolver.html#wrap(V,org.flag4j.core.Shape)">wrap(V, Shape)</a></span> - Method in class org.flag4j.linalg.solvers.exact.<a href="../org/flag4j/linalg/solvers/exact/ExactTensorSolver.html" title="class in org.flag4j.linalg.solvers.exact">ExactTensorSolver</a></dt>
<dd>
<div class="block">Wraps solution as a tensor and reshapes to the proper shape.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/io/TensorOutputStream.html#write(int)">write(int)</a></span> - Method in class org.flag4j.io.<a href="../org/flag4j/io/TensorOutputStream.html" title="class in org.flag4j.io">TensorOutputStream</a></dt>
<dd>
<div class="block">Writes a bite to the output stream.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/io/TensorWriter.html#write(java.lang.String,org.flag4j.core.TensorBase)">write(String, TensorBase&lt;?, ?, ?, ?, ?, ?, ?&gt;)</a></span> - Static method in class org.flag4j.io.<a href="../org/flag4j/io/TensorWriter.html" title="class in org.flag4j.io">TensorWriter</a></dt>
<dd>
<div class="block">Writes a tensor to a file using a <a href="../org/flag4j/io/TensorOutputStream.html" title="class in org.flag4j.io"><code>TensorOutputStream</code></a>.</div>
</dd>
<dt><span class="member-name-link"><a href="../org/flag4j/io/TensorOutputStream.html#write(org.flag4j.core.TensorBase)">write(TensorBase&lt;?, ?, ?, ?, ?, ?, ?&gt;)</a></span> - Method in class org.flag4j.io.<a href="../org/flag4j/io/TensorOutputStream.html" title="class in org.flag4j.io">TensorOutputStream</a></dt>
<dd>
<div class="block">Writes a <a href="../org/flag4j/core/TensorBase.html" title="class in org.flag4j.core"><code>TensorBase</code></a> object to a file by serializing the object.</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">L</a>&nbsp;<a href="index-12.html">M</a>&nbsp;<a href="index-13.html">N</a>&nbsp;<a href="index-14.html">O</a>&nbsp;<a href="index-15.html">P</a>&nbsp;<a href="index-16.html">Q</a>&nbsp;<a href="index-17.html">R</a>&nbsp;<a href="index-18.html">S</a>&nbsp;<a href="index-19.html">T</a>&nbsp;<a href="index-20.html">U</a>&nbsp;<a href="index-21.html">V</a>&nbsp;<a href="index-22.html">W</a>&nbsp;<a href="index-23.html">X</a>&nbsp;<a href="index-24.html">Z</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a href="index-24.html">X</a>&nbsp;<a href="index-25.html">Z</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
</div>
</div>
</body>
Expand Down
Loading

0 comments on commit 7f2b886

Please sign in to comment.