Skip to content

Commit

Permalink
Update to new tensor inheritance. (#116)
Browse files Browse the repository at this point in the history
* Update workflows (#109)

* Delete target directory

* Update build.yml

* Update JavaDoc.

* Added coalesce and dropZero methods to all sparse COO tensor objects.

* Updated toString methods for all tensor arrays types.

Sparse arrays now use abbreviated arrays when printing indices/pointers.

All arrays now only call method from PrintOptions once to ensure no unexpected issues can arise from PrintOptions being updated asynchronously.

* Simplified naming conventions for operations.

* Updated javadoc for dense matrices.

* Fixed issue with matrix market write for coordinate matrices.

Updated sparse toString methods for all sparse arrays.

Added tests.

* Added generic ring/semiring tensors.

Added dense and sparse vector, matrix, and tensors which use a generic ring or semiring as the elements.

* Tensor inheritance (#115)

* Updated inheritance of tensors.

- All ring tensors now inherit from their equivalent semiring tensors.
- All field tensors now inherit from their equivalent ring tensors.
- Added tests for Complex64 numbers.

* Added Tests

- Removed redundant transpose classes.

* Fixed Javadoc.

* Remove duplicated code.

* Added tests.

- Fixed bugs that caused failing tests.

* Added tests.

- Fixed bugs that caused failing tests.

* Added tests.

- Fixed bugs which failing tests.

* Fix for norms.

- Updated and fixed matrix and vector norms
- Changes to norms are reflected in the Condition.java for computing condition numbers.

* Added balancing decomposition

* Small fixes.

* Remove debug main method.

* Update Javadoc.

* All matrix object now use PrettyPrint

* Refactor ArrayUtils.java

- Unneeded methods removed.
- Many methods moved to ArrayBuilder, ArrayConversions or ArrayJoiner utility classes.
- Consolidated/Generified methods where it made sense.

* Refactor of random array/tensor generation.

- Added distributions which can be randomly sampled for improved random array creation.
  • Loading branch information
jacobdwatters authored Jan 26, 2025
1 parent bf30ecc commit 12e4bc3
Show file tree
Hide file tree
Showing 1,151 changed files with 193,701 additions and 44,975 deletions.
1,415 changes: 693 additions & 722 deletions docs/allclasses-index.html

Large diffs are not rendered by default.

141 changes: 78 additions & 63 deletions docs/allpackages-index.html

Large diffs are not rendered by default.

792 changes: 660 additions & 132 deletions docs/constant-values.html

Large diffs are not rendered by default.

48 changes: 20 additions & 28 deletions docs/deprecated-list.html
Original file line number Diff line number Diff line change
@@ -1,50 +1,55 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (22) on Thu Nov 07 18:06:10 MST 2024 -->
<!-- Generated by javadoc (23) on Sat Jan 25 00:59:38 MST 2025 -->
<title>Deprecated List</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-11-07">
<meta name="dc.created" content="2025-01-25">
<meta name="description" content="deprecated elements">
<meta name="generator" content="javadoc/DeprecatedListWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css" title="Style">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="deprecated-list-page">
<script type="text/javascript">var pathtoroot = "./";
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="flag4j/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Deprecated</li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="search.html">Search</a></li>
<li><a href="help-doc.html#deprecated">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div id="navbar-sub-list"></div>
<div class="nav-list-search"><a href="search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search">
<input type="text" id="search-input" disabled placeholder="Search" aria-label="Search in documentation" autocomplete="off">
<input type="reset" id="reset-search" disabled value="Reset">
</div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
Expand All @@ -60,40 +65,27 @@ <h2 title="Contents">Contents</h2>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-summary-item-name even-row-color"><a href="flag4j/org/flag4j/linalg/operations/TransposeDispatcher.html#dispatch(org.flag4j.arrays.dense.CMatrix)">org.flag4j.linalg.ops.TransposeDispatcher.dispatch<wbr>(CMatrix)</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="flag4j/org/flag4j/linalg/operations/TransposeDispatcher.html#dispatchHermitian(org.flag4j.arrays.dense.CMatrix)">org.flag4j.linalg.ops.TransposeDispatcher.dispatchHermitian<wbr>(CMatrix)</a></div>
<div class="col-last odd-row-color"></div>
<div class="col-summary-item-name even-row-color"><a href="flag4j/org/flag4j/linalg/TensorInvert.html#inv(org.flag4j.arrays.dense.CTensor,int)">org.flag4j.linalg.TensorInvert.inv<wbr>(CTensor, int)</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="flag4j/org/flag4j/linalg/TensorInvert.html#inv(org.flag4j.arrays.dense.Tensor,int)">org.flag4j.linalg.TensorInvert.inv<wbr>(Tensor, int)</a></div>
<div class="col-last odd-row-color"></div>
<div class="col-summary-item-name even-row-color"><a href="flag4j/org/flag4j/linalg/VectorNorms.html#norm(org.flag4j.algebraic_structures.fields.Complex128...)">org.flag4j.linalg.VectorNorms.norm<wbr>(Complex128...)</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="flag4j/org/flag4j/linalg/VectorNorms.html#norm(org.flag4j.algebraic_structures.fields.Complex128%5B%5D,double)">org.flag4j.linalg.VectorNorms.norm<wbr>(Complex128[], double)</a></div>
<div class="col-last odd-row-color"></div>
<div class="col-summary-item-name even-row-color"><a href="flag4j/org/flag4j/linalg/VectorNorms.html#norm(org.flag4j.arrays.dense.CVector)">org.flag4j.linalg.VectorNorms.norm<wbr>(CVector)</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="flag4j/org/flag4j/linalg/VectorNorms.html#norm(org.flag4j.arrays.dense.CVector,double)">org.flag4j.linalg.VectorNorms.norm<wbr>(CVector, double)</a></div>
<div class="col-last odd-row-color"></div>
</div>
</div>
</li>
</ul>
<script type="text/javascript">document.addEventListener("DOMContentLoaded", function(e) {
document.querySelectorAll('input[type="checkbox"]').forEach(
function(c) {
<script type="text/javascript">document.addEventListener("DOMContentLoaded", (e) => {
document.querySelectorAll('main input[type="checkbox"]').forEach((c) => {
c.disabled = false;
c.onclick();
});
});
window.addEventListener("load", function(e) {
document.querySelectorAll('input[type="checkbox"]').forEach(
function(c) {
document.querySelectorAll('main input[type="checkbox"]').forEach((c) => {
c.onclick();
});
});
</script>
</main>
</div>
</body>
</html>
22 changes: 12 additions & 10 deletions docs/element-list
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
module:flag4j
org.flag4j.algebraic_structures
org.flag4j.algebraic_structures.fields
org.flag4j.algebraic_structures.rings
org.flag4j.algebraic_structures.semirings
org.flag4j.arrays
org.flag4j.arrays.backend
org.flag4j.arrays.backend
org.flag4j.arrays.backend.field
org.flag4j.arrays.backend.ring
org.flag4j.arrays.backend.semiring
org.flag4j.arrays.backend.field_arrays
org.flag4j.arrays.backend.primitive_arrays
org.flag4j.arrays.backend.ring_arrays
org.flag4j.arrays.backend.semiring_arrays
org.flag4j.arrays.backend.smart_visitors
org.flag4j.arrays.dense
org.flag4j.arrays.sparse
org.flag4j.concurrency
org.flag4j.io
org.flag4j.io.parsing
org.flag4j.linalg
org.flag4j.linalg.decompositions
org.flag4j.linalg.decompositions.balance
org.flag4j.linalg.decompositions.chol
org.flag4j.linalg.decompositions.hess
org.flag4j.linalg.decompositions.lu
Expand All @@ -24,6 +23,7 @@ org.flag4j.linalg.decompositions.schur
org.flag4j.linalg.decompositions.svd
org.flag4j.linalg.decompositions.unitary
org.flag4j.linalg.ops
org.flag4j.linalg.ops.common
org.flag4j.linalg.ops.common.complex
org.flag4j.linalg.ops.common.field_ops
org.flag4j.linalg.ops.common.real
Expand All @@ -38,6 +38,7 @@ org.flag4j.linalg.ops.dense_sparse.csr.field_ops
org.flag4j.linalg.ops.dense_sparse.csr.real
org.flag4j.linalg.ops.dense_sparse.csr.real_complex
org.flag4j.linalg.ops.dense_sparse.csr.real_field_ops
org.flag4j.linalg.ops.dense_sparse.csr.semiring_ops
org.flag4j.linalg.ops.dense.complex
org.flag4j.linalg.ops.dense.field_ops
org.flag4j.linalg.ops.dense.real
Expand All @@ -46,14 +47,15 @@ org.flag4j.linalg.ops.dense.ring_ops
org.flag4j.linalg.ops.dense.semiring_ops
org.flag4j.linalg.ops.sparse
org.flag4j.linalg.ops.sparse.coo
org.flag4j.linalg.ops.sparse.coo.complex
org.flag4j.linalg.ops.sparse.coo.field_ops
org.flag4j.linalg.ops.sparse.coo.real
org.flag4j.linalg.ops.sparse.coo.real_complex
org.flag4j.linalg.ops.sparse.coo.ring_ops
org.flag4j.linalg.ops.sparse.coo.semiring_ops
org.flag4j.linalg.ops.sparse.csr.field_ops
org.flag4j.linalg.ops.sparse.csr
org.flag4j.linalg.ops.sparse.csr.real
org.flag4j.linalg.ops.sparse.csr.real_complex
org.flag4j.linalg.ops.sparse.csr.ring_ops
org.flag4j.linalg.ops.sparse.csr.semiring_ops
org.flag4j.linalg.solvers
org.flag4j.linalg.solvers.exact
org.flag4j.linalg.solvers.exact.triangular
Expand Down
Loading

0 comments on commit 12e4bc3

Please sign in to comment.