Skip to content

A Kotlin library to assist you in Multivariable Calculus, Linear Algebra, Electrostatics, and Quantum Computing.

License

Notifications You must be signed in to change notification settings

PRANETALLU/MathLibrary

 
 

Repository files navigation

MathLibrary

This is my (Eli Bradley's) computer science project, a Kotlin DSL focusing on various topics I've learned about through school and just on my own. Moreover, this is the Kotlin implementation of the mathematical functionalities. This includes:

  • Vector Algebra: There are operations, such as adding, subtracting, multipling, dividing vector coordinate points. Morever, we can calculate the angle between the two vector, projection angle, and rejection perspective.
  • Multivariable Calculus
    • Gradient Descent: It is used to calculate the minimization and maximimzation of functions. It is also known to be measured as a slope and heavily utilized in machine learning. The main purpose is to reduce the frequency of errors and work on efficiency.
  • Basic Linear Algebra: Linear algebra is mainly based on the foundations of vectors, matrices, eignvectors, and their applications. This projct mainly emphasizes more on operations, transformations, and real-world examples when it comes to coding.
  • Electrostatic Simulations: This is heavily based on physics concepts and utilizes a model to replicate the electric force and fields of a charged system.
  • Analytic Transformations
    • Taylor Series: The sum of expressions is usually in a series format / quotient. It is also used to calculate the approximation point of a function.
    • Fourier Series and Transformations: It is used to calculate periodic functions by utilizing the frequences of sin and cos functions. This is mainly used in filtering signals, audio processing, and image modifications.
  • Complex Algebra
    • Complex Numbers: This involves the operations between real and imaginary numbers. The format is a + bi. a is the real number, b is the complex number, and i is the imaginary number.
    • Complex Vectors: It is the between the interaction of two vectors, such as u and v. This involves vector operations, which include adding, subtracting, multiplying, dividing, and calculating the dot product.
    • Complex Matrices: Just like vectors, this involves basic operations, such as adding, subtracting, multiplying, and dividing. Moreover, additional operations could include inversion, transposition, and diagonolization.
  • Quantum Computing
    • Entangled Qubit States: Quantum bits are typically used as a unit of measurement. This also showcases how one quantum unit can be interdependent and this one way significant algorithms can be derived and referenced.
    • Quantum Gates: They are perceived as logical gates when performing quantum operations. This utilizes matrix as a structure and also blends with vectors in terms of mulitplication.
    • Quantum Circuits
      • Parallel Gates: This is used to perform quantum operations simulataneously. Quantum algorithms, relying on this method, is usually much faster in terms of performance.
      • Sequential Gates: Operations are performed one after the another. Indeed, they take a sequential approach. However, this increases the complexity and performs at a higher time complexity.
    • Measuring: The state of qubit is used as a measuring tool when perfoming quantum operations. This manipulation of information is used to inteact with the simulation of quantum systems.

Important Directories

  • cd /MathLibrary/src/applications: This explores more on the techniques, concepts, and operations pertaining to electrostatics, mechanics, and quantum.
  • cd /MathLibrary/src/core: This dives into into multivariable calculus, linear transformations, vector operations, differential equations, and matrix operations.
  • cd /MathLibrary/src/tests: These compose of unit test cases that validate whether functionalities are working up to their full potential or capabilities.

How do we use the Repository?

Since this is a library, it can be incorporated into source folders or used as reference to perform computations.

About

A Kotlin library to assist you in Multivariable Calculus, Linear Algebra, Electrostatics, and Quantum Computing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%