Knotilus is a database of all prime alternating links with 23 crossings or less (according to their website there are 98,517,495,461 such links). It’s great for browsing pretty pictures of knots and links (with different colors!). Along with pictures of the links, Knotilus provides its own archive number, the Gauss code for the alternating link, other knot tabulation numbers, and information about the symmetry and orientation of the link. The Knotilus archive number is of the form ax-b-c, where a = number of crossings, b = number of link components, and c = the cth link in the archive for a set a,b. For example, 6x-1-1 is a knot with 6 crossings and 1 link component (hence a knot), and is (arbitrarily) the first knot listed in the archive with those properties.
One input method for my SURF project is inputting the Knotilus archive number, so my script needs to download the corresponding plaintext file from the database. Last week, one of my friends showed me how to view network requests on Chromium or Chrome (right-click on page > Inspect Element > Network). After viewing the network request while downloading the plaintext file for a knot, Chromium recorded the URL to directly download the plaintext file. Viewing network requests also gave me the URL for the page that loads the knots. Some knots/links with a higher number of crossings take several seconds (up to 15 or so) to load or “anneal”, and requesting the plaintext file before the knot has loaded produces an empty file. As a result, my program has to keep requesting that different URL to load the knot until the plaintext file is non-empty.
One of the main things I’m working on is adapting the previous code I wrote for Plink to work with the Knotilus downloads, since the information given by Knotilus is different than the information given by Plink. Currently I’m working on minimizing copy-pasted code, and making functions handle input from both Knotilus and Plink correctly.
To prepare to calculate the Heegaard Floer correction terms, knots/links from Knotilus and Plink first need to be loaded, and then shaded according to a convention in a paper by Ozsvath and Szabo. That paper is actually the paper with the theorem for Heegaard Floer correction terms, published recently in 2003. (Heegaard Floer homology is a recent and current area of math research!) For the shading convention, you take the knot, look at an intersection, and shade the knot according to the picture below. While this is pretty easy to do by hand, it’s a bit harder to tell the computer which lines to color inside! The overall method for Knotilus/Plink links looks something like:
Input -> double branched cover of alternating link -> quadratic form (matrix) -> (use algorithm and theorem by Ozsvath and Szabo) -> Heegaard Floer correction terms
Shading convention from the paper by Ozsvath and Szabo
Several links from Knotilus, after downloading and running through my program.
If you're interested in what those links actually look like without the shading and straight edges, you can look them up in the Knotilus database. The Knotilus archive numbers are (top to bottom, left to right), 10x-1-10, 11x-1-1, 14x-1-1, 23x-1-1, 23x-1-2, 23x-2-1, 23x-2-10, 23x-10-3, 23x-11-1. My program draws the links upside down because of the way that Tkinter (GUI package for Python) sets up its coordinate axis; the positive y-axis points down.
Next input method: Seifert fibered rational homology spheres and weighted trees!
Almost a year ago now, I was just about to start my first Summer Undergraduate Research Fellowship (SURF) at JPL. NASA had sent out an email to all of their summer interns containing a social media template to announce that we had been selected as NASA interns. Excited to show my NASA pride, I posted it on my Instagram story, unaware of what would come out of this small action.
Hey hey! We’re starting a series where I walk you through my best finds for food and drinks in the Pasadena region, and in the LA metropolitan area. Diners, Drive-ins, and Dives, if you will (although, for copyright reasons we can’t call it that). As you explore your college options, I firmly believe that food and location are more important than your high school guidance counselor may lead you to believe. And I’m here to share my best finds from my time at Caltech with you.
Over the past several months, I have had the opportunity to intern at the NASA Jet Propulsion Laboratory (JPL) under the mentorship of senior research technologist Dr. Xiaoqing Pi. Dr. Pi’s guidance and mentorship has been instrumental to the development and success of my internship at JPL, where I use machine-learning to enhance the accuracy and integrity of navigation and communication signals. In addition to helping me develop an understanding of atmospheric and ionospheric remote sensing and machine-learning, Dr. Pi has often offered his insights on how to improve my researching skills. Dr. Pi was generous enough to take the time to answer a few questions regarding his research and advice for future student interns. I believe many students can benefit from some of the lessons that he has taught me:
The transition period to remote learning was a very uncertain time, especially for research and the Caltech Summer Undergraduate Research Fellowships (SURF) program. Many hands-on projects had to pivot at the last minute to facilitate off-campus contributions. However, many Techers were able to take advantage of the research opportunities offered at Caltech and JPL to make the best out of remote learning and research. To paint a picture, I’ve interviewed a few talented Techers for some insight on what researching from home looks like for them.