Hello JS World!

Over the past few months, I have converted from a Matlab to a JavaScript user. It’s free, powerful, and in demand. As a result, I will start writing code in JS, maybe occasionally in Matlab. As always, I will write about math.

My recommendations:

  • 3JS: For super awesome graphics
  • D3: For data lovers
  • Ember: For ambitious team projects
  • React + Redux: For easy learning
  • Node: For everything

Happy 2018 everyone!

Advertisements

Visualize Linear Algebra

Since last week, I’ve worked on a side project for Robert, my former advisor and good friend. He told me that Matlab has a function called eigshow, which creates a GUI to help us “see” singular value decomposition and eigenvalue decomposition. He wanted a GUI that would similarly help us see and understand induced matrix norm.

The GUI that eigshow creates is cool but rudimentary. What really bothers me is how poorly the code was maintained, with no documentation. I could follow it after some time, but I decided it would be better if I write my GUI from scratch.

So far, my GUI helps you visualize three things:

  1. Matrix norm
  2. Singular value decomposition
  3. Eigenvalue decomposition

The GUI feels great if you have touchscreen and move the vectors with your finger instead of a mouse. I’m hoping to add more features (my code are very modular!) before I get to present linear algebra here. We’ll definitely go over some of the GUI aspects then. Until then, please enjoy these screenshots that I made.

You can find the code in its entirety here:
Download from GitHub

vla_matrix_norm

vla_singular_values

vla_eigenvalues

Welcome!

Hi and welcome to my blog.

I love to explain hard math in simple terms. I do so by drawing pictures, making analogies, and writing code.

That’s exactly what you will find here: (1) thought-provoking figures, (2) relatable examples, and (3) simple code in Matlab, Python, and R.

From here on out are things that I find really interesting. I hope that you like them.

Isaac,