Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saptak625/chem-equation-balancers-java
Chemical Equation Balancers in Java
https://github.com/saptak625/chem-equation-balancers-java
chem-equation-balancers chemical-equation-balancers chemistry-solver gaussian-elimination java matrix oop procedural
Last synced: 7 days ago
JSON representation
Chemical Equation Balancers in Java
- Host: GitHub
- URL: https://github.com/saptak625/chem-equation-balancers-java
- Owner: Saptak625
- Created: 2020-08-24T15:23:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-31T00:17:51.000Z (over 2 years ago)
- Last Synced: 2024-11-26T11:49:14.084Z (2 months ago)
- Topics: chem-equation-balancers, chemical-equation-balancers, chemistry-solver, gaussian-elimination, java, matrix, oop, procedural
- Language: Java
- Homepage:
- Size: 49.8 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chem-equation-balancers
This repository has four versions of chemical equation balancers. You may need to update the change the package and import paths as needed.## First Version
The first version uses a very simple inspection method that can solve simple to moderate difficulty equations. This version does not support any parentheses.Files: Chemical_Equation_Balancer.java
## Second Version
The second version uses a procedural version of the simplified algebraic method (https://jaminsantiago.files.wordpress.com/2013/04/balancing-chemical-equations-easy-algebraic-method.pdf) along with polyatomic replacement that solve almost any chemical equation. This version supports parentheses().Files: ChemicalEquationBalancer2.java
## Third Version
The third version is an object oriented equalivent of the second version.Files: ChemicalEquationBalancer3.java
## Fourth Version
The fourth version takes a whole new approach compared to the others. Instead of using the simplified algebraic method(where variable space has to be accounted inside code), this uses a complete algebraic/matrix solving method. As the more number of variables seems to suggest that a stronger balancing algorithm(in-depth experiment: https://github.com/Saptak625/chem-node-charts), this method maximizes it, while also keeping internal complexities of some matrix solving to a minimum. The matrix solving method used is a custom gaussian elimination with back substitution. My hypothesis of being able to solve all chemical equations hasn't been tested yet. Any suggestions, ideas, or resources would be greatly appreciated!Files: ChemicalEquationBalancer4.java