Jason Matthews
Computer Science and Pure Mathematics Student

I'm a Computer Science and Pure Mathematics joint honours student at Memorial University of Newfoundland. My current research revolves around the development of large-scale frameworks for physics-informed neural networks, and different methods of improving them. Specifically, meta-learned optimization and adaptive point selection methods.

I developed an interest in mathematics at a young age, winning a certificate of distinction in the Cayley Math Contest, a Canada wide math contest held by Waterloo. Programming became an outlet to turn this passion in mathematics into a practical application. In high school I started to develop simple calculators in FreeBASIC and building simple web apps with HTML, CSS, and JavaScript.

Graduating high school I received the Schulich Leader Scholarship to attend Memorial University of Newfoundland, the most prestigious STEM scholarship in Canada. Here I am pursuing a joint honours in Computer Science and Pure Mathematics to combine my two passions into a single high-intensity program. I have spent the last year working as a research assistant in the department of mathematics and statistics, where I have developed a user friendly library implementing physics-informed neural networks and deep operator networks (PinnDE), also writing a preprint which has many journal article citations already. I have also been on Paradigm Engineering, where I have been mainly working with ROS2, a Pixhawk PX-4, and ESP32's to develop the main driving algorithm for an autonomous go-kart.

My current software project that is being worked on is an emulated processor running a subset of MIPS ISA written in Go. I also am currently working on smaller projects with an Arduino UNO R3 and a FPGA to further develop my skills in electronics, as well as studying for the actuarial exam's Exam P and Exam FM. I am working in research in the department of mathematics and statistics at MUN this time.

Experience
May 2024 -- PRESENT
Research Assistant • Memorial University
I have developed a user-friendly library implementing simple to use ODE and PDE solvers with physics-informed neural networks and deep operator networks, PinnDE. The core library has been built in published with Python, with testing new methods being done in C++. The library uses both TensorFlow and JAX as backends. I have also developed a full documentation website hosted on ReadTheDocs which provides tutorials and documentation of the whole API. Along with my supervisor, we have also written a preprint which has gotten a significant number of journal-submitted citations. My current research focuses increasing the user experience with PinnDE, as well as improving and developing cutting-edge meta-learned optimization methods for physics-informed neural networks.
Python
C++
Twine
Tensorflow
JAX
ReadTheDocs
ArXiv
Sep 2024 -- PRESENT
Software Team Member • Paradigm Engineering
As a member of Paradigm Engineering, we have been developing an autonomous go-kart to take to the autonomous karting series held at Purdue University in June 2025. My main role has been developing the core drive algorithm in which the kart will use to drive autonomously. Using a PX-4, I have used C++ with ROS2 to implement an GPS waypoint following algorithm. I have also developed a GUI in C++ which we can use to observe important ROS2 topics as the kart is driving. I have also been working on the code along with an ESP32 to take input from our PX-4 to the steering motor, developing a strong skill in microcontrollers. While Paradigm Engineering has over forty members, I am one of ten chosen to be taken to competition.
C++
Python
ROS2
ESP32
Arduino
Gazebo
Pixhawk PX-4
Qt5
May--Sep, 2020--2023
Seasonal Associate • Kent Building Supplies
During all of high school and my first year of university, I worked at Kent Building Supplies in the Seasonal Department. I started in grade ten, and was then rehired every year until I started working at Memorial University of Newfoundland. Over this time, I became an asset of the store who knew every department intimately and was relied upon to cover any area which needed the help. I worked diligently to become the most overall useful employee who could be tasked with any task in the store and have it known it would get done efficiently.
Projects
PinnDE
PinnDE is a Python library giving users the ability to solve both ODEs and PDEs with physics-informed neural networks and deep operator networks. We currently give access to solving 1+n spatial-temporal and n spatial dimensional PDEs, with Periodic, Dirichlet, and Neumann boundary conditions. This library has a large focus on user-friendliness, giving the user the ability to provide minimal information needed, helping researchers not directly in the field to take advantage of these networks without having the high demand of knowledge many other packages require.
Python
C++
Twine
TensorFlow
JAX
ReadTheDocs
ArXiv
Stopwatch and Timer
This is a webpage I built as a custom stopwatch and timer for my mother. She is a teacher who is constantly using timers and stopwatches on her board, and has only ever used the google timer/stopwatch. So, I built her this app which is styled as everything in her life is; purple and butterflies. This was built with TypeScript with React components, and CSS.
TypeScript
CSS
ReactJS
HTML
Seam Carving
I developed a Java application which allows users to upload and dynamically resize images using a technique known as seam carving. This technique uses edge detection using the Sobel operator and then a dynamic computation to find "seams" of pixels in the image which have the minimal amount of information. These seams are then removed, in order to take unimportant sections of the image out while keeping important objects at the same size. The mathematics involved in these computations is discussed in a high level in GitHub repo for this project.
Java
Swing
Image Processing
Personal Website
This website was built using AstroJS, with TypeScript, React, and TailwindCSS as well. React has been used in the animations of the navigation bar on large screens, and on smaller screens, the animations of the toggled menu.
JavaScript
TypeScript
AstroJS
ReactJS
TailwindCSS
HTML
Barrett Technology 7R WAM
This is the final project for COMP 3766, Introduction to Robotic Manipulation. I implemented the Barrett Technology 7 revolute joint WAM robotic arm, a highly used arm in the medical field. I developed the URDF modelling of the arm, which is modeled inside of RViz with ROS. The forward kinematics for this arm was calculated and implemented along with a GUI to publish joint positions. A numerical inverse kinematics algorithm is also provided which given and end-effector position can calculate the joint positions for the arm and publish them to the joints. Both Python and C++ were used in the developing of these scripts in ROS.
C++
Python
ROS
RViz
Docker
Sudoku CSP Solver
This is a Java application which has been developed with inspiration from MUN's COMP 3200, Algorithm Techniques for AI. This is a Sudoku solver, which implements multiple constraint satisfaction problem solving techniques to solve sudoku puzzles. A user can put in any puzzle they wish, and choose what combination of algorithmic techniques will be used to solve the puzzle. This is then timed to be compared with other combinations of algorithms. These algorithms are the main ones introduced in "Artificial Intelligence: A Modern Approach", by Russell and Norvig. AC-3 inferencing specifically is an arc consistency check described in this book which takes any blank grid to an almost instant solve.
Java
Swing
Publications

PinnDE: Physics-Informed Neural Networks for Solving Differential Equations


Jason Matthews, Alex Bihlo, PinnDE: Physics-Informed Neural Networks for Solving Differential Equations, arxiv preprint. arxiv: 2408.10011 (2024). https://doi.org/10.48550/arXiv.2408.10011

Website: https://pinnde.readthedocs.io/en/latest/