# Content tagged Research

Let's Try Anyway
posted on 2013-11-12 15:49:00

A great problem in any job is orthodoxy. I see it everyday in myriad ways at the University where, despite nominally being all about the future (students, research, etc.), we really do the same things, uniformly, over and over.

A few moments ago, I head a colleague talking about a class she is a teaching assistant for. All I head was someone asking if it "would work with three people," and her saying, "Well… probably not." This particular conversation is not important, but it's an example of something that happens a thousand times a day in this building alone. I'm certain of it!

We make many snap-judgments in our hectic, university lives. How to grade, how to teach, how to assemble experiments in vacuum environments. A good deal of these things are simply based on prior experience; things which haven't necessarily been taught, just picked up. A lot of these things have never been thought through. Some of them don't even make any sort of sense when thought through. Some of them make sense but don't hold up to scrutiny.

I would like to work in a place where people say, "I don't think that will work, but let's try it anyway."

I think it implies that people have enough time to explore, that they are supportive enough to want to explore your ideas, and that they are open to the possibility that they are wrong.

I dislike the capitulations that seem to be required of any statement today, but I do concede that these moments of support and understanding happen – but only occasionally. They should happen in far greater numbers, though.

Map
posted on 2012-08-22 21:26:44

For a while now, I've wanted to make some of the great functionality of things like Octave (and it's parent Matlab) to Common Lisp.  Mostly, I want things like the slice assignments (arrays with ranges in the indices) and matrix math.  Also, it never hurts to make higher mathematical functions available in simple ways.  So, I started writing Map, which I hope will do just that.

Lately, I've been working in singular optics, largely with Spatial Light Modulators, which are like very tiny LCD screens in front of a mirror. They're cool because they can transform the wavefront of a laser beam into any sort of beam you'd like!  We use a fair bit of math to pump out the right images to put onto the SLM, and I'd been wanting to make a more general interface for that for a while.  I'm not there yet, but I'd like to share the few things I've done so far.

## Vectors

In Octave, you can type

[1:10]
and it will automatically be expanded to
[1 2 3 4 5 6 7 8 9 10]
.  This is great notation and can be used both for generating a vector or setting a range.  In map, I've implemented those with
#r(1 10)
, which creates a 'range' class that just keeps track of the numbers, and #v(1 10), which will expand to
#(1 2 3 4 5 6 7 8 9 10)
, like the Octave code.  This means you can do things like
(reduce #'+ #v(1 100))

To add up the numbers 1 to 100.  That, of course, isn't hard, especially when Gauss came up with a much easier way, but you get the picture.

One further thing that's special, is that you can apply a function to the vector you're generating by passing another argument (you can also pass a step size by entering three numbers).

(reduce #' #v(1 .1 10 #'sin))

will give you the sum of the sine of the numbers 1, 1.1, ..., 9.9, 10!  Moving on...

## Differential Equations

This is a much more meaty section, and was really fun for me, since I hadn't really implemented a ODE solver before (that I remember).  Map now contains a Runge-Kutta Feldberg 45 solver, which is supposed to have an adaptive step size, and currently doesn't seem to, so I didn't do everything right, but it works to a certain accuracy.

Here's a demonstration of finding the angular position and velocity ($\theta, \omega$) of a damped, driven pendulum, taken from some of my old computational physics notes.

(defun damped-pendulum (ti yi)        (declare (type double-float ti)                 (type (array double-float 2))                 (ignore ti))        (vector (+ (* -1d0 (sin (elt yi 1))) (* -1d0 .5d0 (elt yi 0)))                (elt yi 0)))
(map::mute (multiple-value-setq (ts ys)         (map:rkf45 #'damped-driven-pendulum                #r(0d0 1d-7 4d1)            #(0d0 1d0) 1d-10)))

Now, ts holds the time values, and ys is a 2x(length ts) array of position and velocity values!  Once I implement array slices, it'll be easy to graph them, but for now, you need to manually extract one of the rows of ys to plot against ts. There's still a lot of work to be done. Anyway, the resulting graphs are:

Thanks for reading, I'll probably post more once I've got slices sorted out.

Kicked too hard
posted on 2012-04-23 21:44:13
I moved to New York City last October, and the search for work has been never-ending.  My greatest success so far has been an ushering position I got through some friends.  They hours are pretty irregular, aside from regularly taking my Saturday evenings and Sunday afternoons, and that doesn't really make for the most relaxed or ordered life.  I'm grateful to have the work, though.  Nevertheless, when I got the opportunity to do some physics research again, by surprise, I was really excited -- even if I was only offered minimum wage.

Now, for the second time since I've moved here, I've made it a month into a research job only to find out that I'm not on payroll at all.  I'm hoping to sort it all out next week, when the person in charge of payroll gets back from vacation, but there's always the fear that there won't be the money to pay me.  If communication was so good as to put me in this position in the first place, I'm rather afraid that someone didn't check if they could hire me at all.  At my last research position at Columbia, I suspect that's what happened, and why, two and a half months into my time there, I was finally handed a contract which said I wasn't allowed to work more than three months.
New job again!
posted on 2011-09-11 17:13:48

Well, the summer ended and it was finally time to move out of central New York. I managed a whole two weeks of work at the Air Force, but met some nice people. Now, though, I am relocating!

When looking for an apartment in New York City, there is a strange dance to be done. First, one would want an apartment, right? I sure did. Apparently, though, you need to be able to prove you can pay for it before you can move in (if you can find one at all) which means you need a job before you can rent an apartment. Of course, it would be nice to live near that job in the city that you're paying for the apartment with, wouldn't it? You can't do that until you have the job. I don't know how most people deal with this. After a few weeks job and apartment hunting, I'm guessing a lot of people just don't.

In any event, I got a job with the Wong Group at Columbia University.  This is quite new to me!  At this point, most every new job is a completely new experience for me, but in this case, well, this is probably my first real job.  I worked in a public library for 2 years, so, I guess that probably counts as a real job, too, but that was during high school and this is in a field I studied in College.

On my first day of work (Wednesday) I was given a budget code, told to order what I needed and left to do what I would in the lab with a laser that cost a quarter of a million dollars.

Then, I reminded myself that I was, in fact, qualified to use the equipment and got about learning how the particular equipment that they use in this lab works.  It's certainly a very free-form environment, working at a University instead of a government lab.  People are in and out whenever, and my introduction to the equipment took place at 8:30PM.

As usual, I've gotten myself into an unusual situation.  I'm working in the Mechanical Engineering department, where they're big on building things, and people at talks get their degrees listed along with what companies they've started.  I have yet to understand a talk given by another person in my lab (and I've already seen a few) so I'm hoping I can return the favor in a few weeks when it's my turn.

I'm working on checking some of the devices they work on.  Right now, I'm just checking some bulk BBO crystal to make sure it's creating the right entangled state (the $$|\Psi^+\rangle = \frac{1}{\sqrt{2}}\left(|HV\rangle + |VH\rangle\right)$$ state), by quantum state tomography.  Apparently, the group is (in part) working on entangled photon sources on a chip, and so once I've shown I can do QST, I'll be doing it to the outputs of a fiber and chip based device!

Rochester Symposium
posted on 2011-04-24 22:15:24

I'm already two weeks late on this (and less late on other things) but two weeks ago I got the chance to present my senior research at the University of Rochester.  For those who haven't already read about it, I've been working on quantum optics with professor Kiko Galvez at Colgate.  I got to start working on this back in September, and being only a senior in college, I can say with little doubt this is the subject I know the most about in physics.  Since then, I've become attached to the subject, and was really excited to get to talk about it in front of an audience.  Furthermore, since the conference was titled the Rochester Symposium for Physics (Astronomy & Optics) Students (emphasis mine), I figured I'd probably be talking to an audience that knew something about what I was talking about.

De libris senes novosque tempos
posted on 2009-07-20 23:25:00

Made charts today which I had to patch together in the GIMP because gnuplot can't plot different equations on different ranges. Also, it's multiplot environment was so bizzarely confusing that I couldn't manage to get anything worthwhile out of it. I may not have been using it for the right purpose. Also in free software, I was looking for and e-book reader - something that would seem somehow like a book, with pages and whatnot, which I suppose I could do with some sort of PDF, but I want to read things which are mostly from project gutenberg and are in formats that I don't know about (aside from text and html, which are boring). Most of the programs I found were lackluster in that they looked like they were written in the early nineties or segfaulted. This saga has yet to be finished.

I wanted to read Beowulf both because of this past weekend's watch all of all of the extended Lord of the Rings movies, wherein a friend was talking about how the books are influenced by Beowulf, and because of the song by the Mountain Goats called Grendel's Mother. I wonder if the epic poem narrative can still be used today. I think it's a very powerful form, and would love to try and make something of it, but I might need to study things like Beowulf and the classical epics a bit more before I can make any sort of worthy attempt.

de pictas
posted on 2009-07-09 19:15:00

I have been learning more than I anticipated I would about gnuplot lately. I've been making up figures for a professor's paper (for which I've been doing research this summer) and now that we're down to the near end, there seem to be a fair bit of specifics involved. I've also picked up some useful abbreviations:

 original short form xrange, yrange xr, yr with wi using u l, p, lp lines, points, linespoints

It's been especially useful to have found out how to make plots shell script style, a la:

#!/usr/bin/gnuplotset terminal postscript eps enhanced colorset output "something.eps"set size squareset xr [-1:1]plot exp(-x**2) ti "woo"

Unless otherwise credited all material by Matt Novenstern