Skip to content

Tensor inheritance#115

Merged
jacobdwatters merged 10 commits intodevelopfrom
tensor-inheritance
Jan 25, 2025
Merged

Tensor inheritance#115
jacobdwatters merged 10 commits intodevelopfrom
tensor-inheritance

Conversation

@jacobdwatters
Copy link
Collaborator

Full rework of tensor inheritance structure.

- 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.
- Removed redundant transpose classes.
- Fixed bugs that caused failing tests.
- Fixed bugs that caused failing tests.
- Fixed bugs which failing tests.
- Updated and fixed matrix and vector norms
- Changes to norms are reflected in the Condition.java for computing condition numbers.
@jacobdwatters jacobdwatters merged commit 4cd1881 into develop Jan 25, 2025
1 check passed
@jacobdwatters jacobdwatters deleted the tensor-inheritance branch January 25, 2025 07:56
@sonarqubecloud
Copy link

jacobdwatters added a commit that referenced this pull request Jan 26, 2025
* 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.
jacobdwatters added a commit that referenced this pull request Jan 26, 2025
* 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.

* Update README.md
jacobdwatters added a commit that referenced this pull request Jan 27, 2025
* 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.
jacobdwatters added a commit that referenced this pull request Jan 27, 2025
* 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.

* Update README.md

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* 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.

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Fixed un-capitalized Hermitian
jacobdwatters added a commit that referenced this pull request Feb 14, 2025
* 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.
jacobdwatters added a commit that referenced this pull request Feb 14, 2025
* 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.
jacobdwatters added a commit that referenced this pull request Feb 14, 2025
* 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.

* Update README.md

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* 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.

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Fixed un-capitalized Hermitian

* Small Javadoc fix

- Fixed inconsistency in bold lettering in the Rotation.java JavaDoc.

* Balanced eigen problems (#121)

* Improved matrix inversion.

Real and complex matrices are now inverted by directly solving the system AX=I using a specialized solver to efficiently solve the system taking full advantage of the structure of I.

* Added matrix balancing to Schur Decomposition.

* Improve JavaDoc for decompositions

* Improve JavaDoc for decompositions

- Also removed unneeded casting for Complex128 objects.

* Improve JavaDoc for solvers and balancer

* Ignore docs folder

* Remove docs

* Update docs

* Fix header tags in docs.

* Improve Javadoc.

* Improve Javadoc.

* 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.

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Fixed un-capitalized Hermitian

* 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.

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Add rotation transformations

* Small Javadoc fix

- Fixed inconsistency in bold lettering in the Rotation.java JavaDoc.

* Balanced eigen problems (#121)

* Improved matrix inversion.

Real and complex matrices are now inverted by directly solving the system AX=I using a specialized solver to efficiently solve the system taking full advantage of the structure of I.

* Added matrix balancing to Schur Decomposition.

* Improve JavaDoc for decompositions

* Improve JavaDoc for decompositions

- Also removed unneeded casting for Complex128 objects.

* Improve JavaDoc for solvers and balancer

* Ignore docs folder

* Remove docs

* Update docs

* Fix header tags in docs.

* Improve Javadoc.

* Improve Javadoc.

* Improve Javadoc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant