The wonder of invisible things

Today I will write about one of many aspects of learning and problem solving in general that I’m very passionate about. 

Invisible things make the world go round. I don’t just mean that the basic building blocks of our universe are invisible. As a physicist, you can assume I also mean that. But there is a kind of aspect to problem solving that invokes something that isn’t just unseen by the naked eye, it is truly fiction. I’m talking about the cases like dropping a perpendicular line in geometry. In any given geometry problem, there are an infinite number of lines you can draw and most of them are decidedly unhelpful. However, a particular choice ( usually a perpendicular line) that comes with a constraint unlock the next step and allows you to say something new about the system. An iterative process of this kind, bootstraps knowledge together in such a way as to unlock problem solving. This is wondrous to me. 

It doesn’t stop there. Physics is rife with such problems to solve. The brachistochrone problem was one of many like this for me in graduate school. Problem solving in this system was unlocked by a particular set of co-ordinate choice. For other problems the key was the ‘right’ choice of basis in a quantum mechanics course. The ‘right’ one was of course revealed by the choice making the problem tractable at all. The common frustration between myself and my peers was ‘how do you know in advance what to choose?’ The response was a disappointing, ‘you can’t always know.’ Progress is made by an arbitrary choice of something abstract, something fictional or something invisible. 

More recently, I found this with a counting problem. I wanted to index the difference of the elements of a vector with itself so position 0 minus position (1,2,3, … ) then the difference of position 1 with position (2,3, … ) pretty easy to set up two loops over these indices. In python:

for i in range(0,maxi-1):
    for j in range(i+1,maxi):

With maxi being the total length of the vector of interest. This makes something like traversing an upper left triangular matrix. Well then I wanted a counter in this loop that goes (0,1,2,3,4….). It didn’t take too long for me to realize triangular numbers (n(n+1)/2) and indexing were involved but the specific form was a little illusive.

I started from what I could see (the elements of the vector) and I started counting from the bottom up of a smaller upper left triangular table. I reasoned that if I could count 1,2,3 from the bottom up, simple subtraction for the max value counts me down. I used a good problem solving step as well, I reduced my issue to something smaller but equivalent and worked on a whiteboard instead of the larger vectors I was interested in.  I got to the end, redid it because I made some mistakes and back substituted some new variables I had created and I realized that the final form indicated a much simpler derivation than all the steps I had taken to get there.

Had I, from the beginning, imagined a square matrix with indices i,j (row,column) and imagined subtracting off the ends of the lines I could have almost just written down j+i*maxi - 1/2(i+1)(i+2). Where the term, j+i*maxi counts through a square and 1/2(i+1)(i+2) is a triangular number index but for the bottom-right triangular array that is then subtracted off. But in truth, that part doesn’t exist. It is invisible. It is fictional and it absolutely unlocks the solution to the problem at hand.

It is incredible to me that I have made a career out of solving problems by looking at invisible things. 

Be well, stay safe


Next: Trying solutions that “shouldn’t” work

What makes me happy

I have said for a long time that

“If I’m thinking, I’m happy.”

Today changed my mind a bit. Thinking does make me happy, but I realized something (perhaps very simple) today: that idea may be a sufficient but not a necessary condition.

I had an email this morning from a collaborator in Europe who needed help with a particular tool. I volunteered to help. We’re on Linux systems and GNU screen is a terminal extension program I have used frequently during training or teaching sessions. I can make several windows and collaborators can watch what I do or I can open an in-terminal editor (read vim, emacs or nano etc.) and we can chat. The text file can then be saved for later review. This is a very helpful framework that I have used often.

After a few failed attempts, we figured it out and went on with our days. It was as simple as a configuration file being inappropriate and the associated error message being less than useless because it was distracting. However, the utility and craft of good and bad error messages might be a different post altogether.

The problem presented was a variant of something I had seen before. It was a challenge, but I realized that the challenge wasn’t the aspect of what I truly enjoyed about my morning. I think I’ve often been of this mindset, but I think I’ve only just accepted that my desire to have useful contributions may supersede my desire to be challenged.

I have also said for some time, that I have found myself very naturally making tools that help everyone be successful. This phrase may be too long. I think I will start saying:

‘If I’m helping, I’m happy.’

What do you think?

After I was done, I got to talking to a man named Thomas in the place where I was sitting. He said to me that I am a resource in search of an opportunity. I will be thinking about that phrase as well.

Hello world!

This blog contains lessons learned and interesting things (to me anyway) discovered in the course of exploring the universe.

I have borne witness to things a billion times smaller than a bacterium and seen the darkness beyond the dimmest star.

The world we live in is amazing, and I would like to share it with you.