Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joshmcdonagh/jmat
JMat is a library which implements fundamental matrix capabilities in Java.
https://github.com/joshmcdonagh/jmat
csv discretisation discretization gradle java java11 math mathematics maths matrices matrix matrix-calculations matrix-library matrix-manipulation matrix-math matrix-math-library sorting txt
Last synced: 24 days ago
JSON representation
JMat is a library which implements fundamental matrix capabilities in Java.
- Host: GitHub
- URL: https://github.com/joshmcdonagh/jmat
- Owner: JoshMcDonagh
- License: apache-2.0
- Created: 2021-04-26T21:09:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-27T07:23:12.000Z (9 months ago)
- Last Synced: 2024-09-30T13:02:32.701Z (about 1 month ago)
- Topics: csv, discretisation, discretization, gradle, java, java11, math, mathematics, maths, matrices, matrix, matrix-calculations, matrix-library, matrix-manipulation, matrix-math, matrix-math-library, sorting, txt
- Language: Java
- Homepage: https://www.jmatlib.com/
- Size: 447 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![JMat: Matrices for Java](https://1.bp.blogspot.com/-HBB4foZmv4I/YPxmtma_HJI/AAAAAAAAAcY/TuLtrSs18VwJPzXNnTyyxJwWRYMOUY3dACLcBGAsYHQ/s928/Matrices+for+Java+Banner.png)
JMat is a library developed for Java which allows for the use and manipulation of matrices. The library handles fundamental mathematical operations on matrices, and also implements further functionality including discretisation, I/O, and sorting.## JMat Core
The core JMat package implements the basic matrix functionality for the whole library using three main types of matrix object: the generic matrix (`GMatrix`), the comparable matrix (`CMatrix`), and the double matrix (`DMatrix`). Using these matrix objects, use and manipulation of matrices is possible.
JMat core features include:
- Generating and creating matrix objects
- Manipulating matrix objects (such as extracting matrix values, rows, and columns; inserting or deleting rows and columns; and transposition)
- Generating identity matrices
- Sorting matrices
- Merging matrices
- Performing matrix mathematics (including calculating the determinant of a matrix, the trace of a matrix, the minors of a matrix, the cofactors of a matrix, the adjoint matrix of a matrix, the inverse of a matrix, as well as performing addition, subtraction, multiplication, and division using matrices)
- Discretising matrices with continuous values (either by frequency or by width)
- Importing and exporting matrices as text files or CSV files## Building JMat
To build the JMat library, first clone the Git main branch (which holds the latest version of JMat) using the command:
$ git clone https://github.com/JoshMcDonagh/JMat.git
JMat uses Gradle as the build system, with each JMat package contained in sub-folders (there is only one that currently exists in this version):
* *jmat.core* - this is the library package which contains the fundamental matrix functionality.
Within the Git folder cloned, use the following command to build the JMat library and run all of the JUnit tests:
$ gradle build
Alternatively, access https://github.com/JoshMcDonagh/JMat/releases for the latest version of the JMat library.
## Donations
I continue to support and develop JMat in my spare time and receive no commercial or financial advantage from it.
However, if you'd like to, I'd greatly appreciate any donation you're willing to give. All the money goes towards maintaining this library and supporting me and my current studies at university.
To donate, you can either follow this link:
https://www.paypal.com/donate?hosted_button_id=RYM9L6TNB7SGCOr scan the following QR code:
![enter image description here](https://1.bp.blogspot.com/-OCzvZJxrtz4/YTEnmNntipI/AAAAAAAAAdE/qKhC01NIC14sY84_HPpIAZRHtTGv3tkigCLcBGAsYHQ/s0/QR+code.png)
## License
```
Copyright 2021 Joshua McDonaghLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```