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.
- 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.
Since this is a library, it can be incorporated into source folders or used as reference to perform computations.