Ben Sprott

Welcome to the Home Page of Ben Sprott

Updated October 15, 2017

I am a researcher and programmer with a very strong background in both physics and computer science.  I hold my MSc degree in physics from the University of Waterloo and my MSc in Computer Science from McGill University.  I have worked as a researcher, and automation specialist in the telecommunications industry, as well as being a research assistant at McGill.  While at the University of Waterloo  I was a member of the Perimeter Institute.  I have recently taken Coursera courses in Algorithms and Data Structures, as well as Machine Learning.  During my recent studies and work experience I have trained in the following skills:

  • Python,Java, C#, VB, .Net, C++, Matlab
  • Object Oriented Design
  • Large Python projects
  • Selenium for web testing and automation
  • Machine Learning
  • Algorithms and Data Structures
  • Software development lifecycle
  • Software verification techniques and their associated automation
  • threads for concurrency in Java and Python
  • Java Remote Method Invocation (RMI)
  • Integrating constrained systems
  • conjugate gradients for solving linear systems
  • Integration schemes for ODE's and DAE
    • Forward and Symplectic Euler
    • RK4
    • verlets
  • constraint graphs
  • distributed system design
    • middleware
    • replication
    • recovery and persistence
    • two-phase commit
  • minimum spanning trees and related algorithms of Prim and Kruskal
  • Research and Design of active and passive Silicon photonic circuits
  • ROADM design in SOI
  • Eclipse, Subversion (SVN), Accurev
  • Network testing equipment and strategies
  • High speed telecommunications protocols like DP-QPSK and their physical modulation techniques
  • Design and analysis of polarization modulation schemes
  • Design, modelling and fabrication of semiconductor devices including high speed AlGalAs polarization modulators
  • Design of grating stabilized lasers
  • Silicon photonic circuit design and layout (Lumerical software, Mentor Graphics Pyxis)
  • OpenGL and jogl
  • Physics based animation
  • motion capture
  • TCP sockets
  • dead reconing
  • A* algorithm for basic AI
Recent Work Experience
Since May 2016, I have been employed as a Senior Engineer in Software at Lumentum Inc, a manufacturer of fiber optic networking equipment.  I have been working on the automatic calibration of Lumentum's most advanced optical modulators and building an automatic regression testing system, and improvements to our Automation Framework.

Between September 2011 and October 2014, I was employed at Optelian Access Networks, an elite telecommunications engineering firm.  At this small manufacturer of fiber optic networking systems, I was employed as Automation Prime in the Software group.  My most recent project focused on the single handed development of the integrated automatic tests of the Optelian Intuitive Packet network management tool, and Optelian optical networking equipment.  This software system, written in Python, allows for an in-depth sanity test of the Optelian Intuitive Packet system as a whole.  I had several other duties while at Optelian including acting as a researcher in telecommunications equipment, I was Optical System Prime for the Optelian Automatic Optical Layer and was also a System Verification Specialist.  My research for the company focused on semiconductor lasers and high speed AlGaAs polarization controllers.  In particular, I performed in depth physics based research including the development of Matlab simulations of complex semiconductor devices.  Moreover, I have also aided in the companies understanding of the use of high speed polarization controllers for 100GigB/s modulation schemes.  I also enjoyed the process of designing optical networking equipment in the Silicon on Insulator platform.  With the help of several of the great professors of Electrical Engineering at UBC, I was able to design a reconfigurable optical add-drop multiplexer in Silicon on Insulator.

I have had the distinct pleasure of working as an optical test specialist at Metrophotonics and JDSU in Ottawa.  My work there focused on the testing of optical amplifiers in high volume production, the testing of electro-optical chips for DWDM and dynamic channel monitoring and helping to manage an R&D focused optics lab.

Other Interests
I was previously a research assistant for Prakash Panangaden in the Computer Science department at McGill.  Under his guidance, I learned some of the many exciting new applications of Category Theory to both physics and computer science.  Specifically, we were attempting to expand his work on the Quantum Causal Dynamics to include simple optical devices.  Our goal was to probe some of the famous quantum interference experiments in a causal mechanics using a symmetric monoidal category.

Before that, I worked with Lucien Hardy at the Perimeter Institute on expanding his thoughts on the quantum automaton.  My thesis focused on the word problem for the one way quantum automaton and contains impressive and novel work.

Over the years, I have written a collection of papers which generally demonstrate the power of presenting structures amongst the transformations of different categories of mathematical objects such as topological manifolds and Hilbert spaces.  I developed the beginnings of a quantum computational linguistic model, attempted to give a kind of relational statistics and hence an entropy for knots and tangles and I investigated Rob Spekkens' Toy Model as a means of probing questions of ontology and epistemology in quantum theory.  I currently enjoy advancing our understanding of physics as an epistemic restriction on causal structure and how categorical structures can be used to express this and perhaps even be used to derive quantum theory and quantum field theory. My latest paper uses Category Theory to encode a thought experiment by Lucien Hardy.