| Travis CI | Codecov |
|---|---|
This project contains libraries written in Java for simulating quantum algorithms. I created this libraries because I saw that there is a lack of libraries for Java that simulate quantum algorithms and the already existing Java based simulators don't expose the API for using it in new projects.
You can get a stable version of this project by checking the releases and downloading a zip archive. If you want a development version, you can download the project as a zip or clone it:
git clone https://github.com/23ars/quantum_computing.gitFor using this project you'll need a JDK ( Java Development Kit) and Apache Maven.
- Run
mvn installin complexnumber directory. - Run
mvn installin quantum directory - Run
mvn packagein quantumapp directory.
Note: If you want to use Eclipse as an IDE you need to perform an extra step in each directory:
mvn eclipse:eclipse
The Junit Tests that are in complexnumber project verify if operations with complex numbers are performed correctly and give the
correct results. For running this tests you will have to run mvn test in complexnumber directory.
@TestpublicvoidtestConjugate() {
ComplexNumberexpectedNumber = newComplexNumber(REAL_VALUE_FIRST_NO, -IMAGINARY_VALUE_FIRST_NO);
ComplexNumberrealNumber = null;
realNumber = ComplexMath.conjugate(firstNumber);
assertEquals(expectedNumber, realNumber);
}The Junit Tests from quantum project verify if operations on qubits are performed correctly. To run the tests, you will have to run mvn test in quantum directory.
@RunWith(Suite.class)
@SuiteClasses({
QuantumGatesTest.class,
QuantumOperationsTest.class,
QubitTest.class,
MatrixOperationsTest.class
})
publicclassAllTests {
}To install the libraries is enough to run mvn install. If you want to deploy them, you will have to run mvn deploy in each folder.
- Apache Maven 3.3.9
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Mihai Seba - Initial work - 23ars
See also the list of contributors who participated in this project.
This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details