Skip to content

Latest commit

 

History

History
102 lines (78 loc) · 3.5 KB

README.md

File metadata and controls

102 lines (78 loc) · 3.5 KB

MathLibrary

Project Description

MathLibrary is a Kotlin DSL project created by Eli Bradley that encompasses applications of the following mathematical computations:

  • Vector Algebra
  • Multivariable Calculus
    • Gradient Descent
  • Basic Linear Algebra
  • Electrostatic Simulations
  • Analytic Transformations
    • Taylor Series
    • Fourier Series and Transformations
  • Complex Algebra
    • Complex Numbers
    • Complex Vectors
    • Complex Matrices
  • Quantum Computing
    • Entangled Qubit States
    • Quantum Gates
    • Quantum Circuits
      • Parallel Gates
      • Sequential Gates
    • Measuring

Table of Contents

  1. How to Install and Run the Project
  2. How to Use the Project
  3. Project Structure
  4. Testing
  5. How to Contribute to the Project
  6. Credits
  7. License

How to Install and Run the Project

  1. Clone the repository:
git clone https://github.com/EtherTyper/MathLibrary.git
  1. Build the new library:
  • Ensure you are in the MathLibrary directory using the command
cd MathLibrary
  • Run the following command in the terminal to compile and install the new library to your local Maven repository:
  mvn install
  1. Add dependencies:
  • Add the following code to the section in your pom.xml file:
<dependency>
  <groupId>mathLibrary</groupId>
  <artifactId>MathLibrary</artifactId>
  <version>1.0</version>
</dependency>
  1. Update project dependencies:
  • If you are coding your project using an IDE such as IntelliJ IDEA or NetBeans, update the dependencies accordingly to ensure the new library is available for use.
  1. Import and use MathLibrary:
  • Once the library is recognized, you can import classes and functions available in MathLibrary for mathematical computations in your Kotlin project.

How to Use the Project

Detailed instructions and examples are provided in the src folder, categorized into subdirectories based on each mathematical topic.

Project Structure

The project is structured as follows:

  • applications: Contains specific applications of the MathLibrary, such as electrostatics, mechanics, and quantum computations.
  • core: Core mathematical functionalities, including complex numbers, linear algebra, transformations, and vectors.
  • tests: Unit tests for various components, covering complex numbers, matrices, quantum computations, vectors, and more.

Testing

The tests directory located under /MathLibrary/src/tests includes comprehensive unit tests for different mathematical components. Execute the tests by running the corresponding main functions in the test files. Feel free to write additional test cases.

  • AllTests.kt: Executes all unit tests in one go.
  • ComplexTests.kt, MatrixTests.kt, QuantumTests.kt, VectorTests.kt: Individual test files for specific components.

How to Contribute to the Project

If would like to contribute to the MathLibrary functionality by implementing additional features or fixing errors, follow the steps below:

  1. Fork the MathLibrary repository.
  2. Implement additional changes.
  3. Initiate a pull request.

Alternatively, you may create an issue.

Credits

Project by Eli Joseph Bradley

License

This project is licensed under the terms of the License.