{"id":15068960,"url":"https://github.com/joshmcdonagh/jmat","last_synced_at":"2025-04-10T16:51:51.948Z","repository":{"id":102988656,"uuid":"361894765","full_name":"JoshMcDonagh/JMat","owner":"JoshMcDonagh","description":"JMat is a library which implements fundamental matrix capabilities in Java.","archived":false,"fork":false,"pushed_at":"2024-01-27T07:23:12.000Z","size":458,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T14:44:29.345Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://www.jmatlib.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoshMcDonagh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.com/donate?hosted_button_id=RYM9L6TNB7SGC"]}},"created_at":"2021-04-26T21:09:21.000Z","updated_at":"2022-08-16T22:38:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"caffa349-9204-4200-bf24-cb5bdb3f8370","html_url":"https://github.com/JoshMcDonagh/JMat","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshMcDonagh%2FJMat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshMcDonagh%2FJMat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshMcDonagh%2FJMat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshMcDonagh%2FJMat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoshMcDonagh","download_url":"https://codeload.github.com/JoshMcDonagh/JMat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248256093,"owners_count":21073461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","discretisation","discretization","gradle","java","java11","math","mathematics","maths","matrices","matrix","matrix-calculations","matrix-library","matrix-manipulation","matrix-math","matrix-math-library","sorting","txt"],"created_at":"2024-09-25T01:39:50.925Z","updated_at":"2025-04-10T16:51:51.928Z","avatar_url":"https://github.com/JoshMcDonagh.png","language":"Java","funding_links":["https://www.paypal.com/donate?hosted_button_id=RYM9L6TNB7SGC"],"categories":[],"sub_categories":[],"readme":"﻿![JMat: Matrices for Java](https://1.bp.blogspot.com/-HBB4foZmv4I/YPxmtma_HJI/AAAAAAAAAcY/TuLtrSs18VwJPzXNnTyyxJwWRYMOUY3dACLcBGAsYHQ/s928/Matrices+for+Java+Banner.png)\nJMat 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.\n\n## JMat Core\n\nThe 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.\n\nJMat core features include:\n\n- Generating and creating matrix objects\n- Manipulating matrix objects (such as extracting matrix values, rows, and columns; inserting or deleting rows and columns; and transposition)\n- Generating identity matrices\n- Sorting matrices\n- Merging matrices\n- 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)\n- Discretising matrices with continuous values (either by frequency or by width)\n- Importing and exporting matrices as text files or CSV files\n\n## Building JMat\n\nTo build the JMat library, first clone the Git main branch (which holds the latest version of JMat) using the command:\n\n\t$ git clone https://github.com/JoshMcDonagh/JMat.git\n\nJMat uses Gradle as the build system, with each JMat package contained in sub-folders (there is only one that currently exists in this version):\n\n* *jmat.core* - this is the library package which contains the fundamental matrix functionality.\n\nWithin the Git folder cloned, use the following command to build the JMat library and run all of the JUnit tests:\n\n\t$ gradle build\n\nAlternatively, access https://github.com/JoshMcDonagh/JMat/releases for the latest version of the JMat library.\n\n## Donations\n\nI continue to support and develop JMat in my spare time and receive no commercial or financial advantage from it.\n\nHowever, 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.\n\nTo donate, you can either follow this link:\nhttps://www.paypal.com/donate?hosted_button_id=RYM9L6TNB7SGC\n\nOr scan the following QR code:\n\n![enter image description here](https://1.bp.blogspot.com/-OCzvZJxrtz4/YTEnmNntipI/AAAAAAAAAdE/qKhC01NIC14sY84_HPpIAZRHtTGv3tkigCLcBGAsYHQ/s0/QR+code.png)\n\n## License\n\n```\nCopyright 2021 Joshua McDonagh\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshmcdonagh%2Fjmat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshmcdonagh%2Fjmat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshmcdonagh%2Fjmat/lists"}