Software

AISRouteFinder

Apache
Spark Python MatplotlibScikit-learn SQLite

Genetic waypoints algorithm

AISRouteFinder is an application which learns aggregate maritime traffic routes using a genetic (or evolutionary) algorithm. It is implemented in Python and uses Apache Spark and high-performance (cluster) computing to generate maritime traffic graphs from a very large number (>2 million) of input AIS (automatic identfication system) data points. Maritime traffic graphs have a wide range of applications, including route optimization, maritime domain awareness, economic modeling, and more.

ECSignature

GitHubMaple

Eigenvalue configuration

ECSignature is a symbolic computation algorithm which takes as input two symbolic matrices and a desired arrangement (ordering) of their eigenvalues, and gives as output a condition on the matrix entries so that their eigenvalues are arranged according to the input arrangement. It is implemented in the computer algebra system Maple and relies on the theory of the signature of matrices.

The motivation behind this project (and ECSymmetry) comes from the ubiquity of real symmetric matrices. Problems naturally arise from nearly every field of mathematics, science, and engineering which involve the eigenvalues of real symmetric (or Hermitian) matrices; to list a few:

  • Geometry (affine transformations/rotations)
  • Statistics and data science (Hessian matrices, covariance matrices)
  • Quantum mechanics (Hamiltonian matrices)
  • Graph theory (adjacency and Laplacian matrices)
  • Control system design (Lyapunov stability)
  • Mechanics and materials science (stress, strain, and inertia tensors)
  • Optimization (Hessian matrices)

ECSymmetry

GitHubMaple

ECSymmetry is a symbolic computation algorithm which takes as input two symbolic matrices and a desired arrangement (ordering) of their eigenvalues, and gives as output a condition on the matrix entries so that their eigenvalues are arranged according to the input arrangement. It is implemented in the computer algebra system Maple and relies on the theory of symmetric polynomials.

It accomplishes the same goal as ECSignature, but uses different mathematical techniques.

QuantumChemistryNN

GitHubPythonKerasTensorFlow

QC neural network

QuantumChemistryNN is a research project investigating the ability of deep neural networks to approximate costly quantum-chemical calculations of molecular charges, using Keras, TensorFlow, and high-performance (cluster) computing.

resultant-fvectors

GitHubSageMath

Resultant polytope

resultant-fvectors is a Python/SageMath tool used to study the combinatorial properties of higher-dimensional geometric objects which arise from abstract algebra. It is implemented using the computer algebra system SageMath and uses Python parallel processing libraries to speed up computations.

You can read more about the theory behind this project here.

Test Case Compiler

GitHubMATLABJava

Test case compiler

The Test Case Compiler is a software tool designed for teaching assistants for the course CS 1371 (Computing for Engineers) at Georgia Tech. Its purpose is to package and create automated grading rubrics for coding homework problems.