Category Archives: Work

Current Events

Ok, so I’ve been pretty busy. Right now, as I type, I’m running a special simulation in Matlab that could quite possible become a pillar of my dissertation. Since school started back I’ve settled into quite a nice little schedule. I’ll wake up around 7am, shower, eat, have a cup of coffee, and spend an hour or so just “waking up”. It is pretty nice! I read a post on Reddit about how waking up earlier and making work part of you day rather than waking up for work can have a profound influence on your mood. And from what I’ve experienced so far I would agree!

So anyways, I will wake up, head to work, head home and then relax a bit. For the past 15-20 days I’ve been streaming game development on the creative section on Justin.tv from about 8pm to 10pm or so. I stream for about two hours each day to keep the progress on Lurid steady. Hopefully after enough 2 hour work days I’ll have something worth showing off to friends and the gamedev subreddit. We’ll see!

Also, I switched web hosts, I’m now on Amazons EC2 servers. It is terrific, I should have made the switch earlier! That’s all for now, I need to check on my simulation. I hope to keep you updated.

Organization

So I think, being somewhat adept at programming, I should make my own “graduate student” organizer. The main reason for doing this is that it will force me to better categorize the information and publications I find from day-to-day. Being able to organize this sort of information in a consistent, coherent fashion will be a huge benefit!

 

First step will be to reduce even the most complex of ideas to some template of abstraction. Once abstracted I can use a database like SQLite and store all the information. First, a few big questions to tackle before programming anything and then a few ways of hopefully answering some of these questions:

  • What “template” is good enough to reduce the largest range of ideas? (i.e. components simple and complex ideas share and can be categorized by)
  • What medium is best? (i.e. should this program have a GUI or should a collection of executable files be used at the command line?)
  • How will sources of information in the DB be referenced? (i.e. bits of information should hold pointers to locations where the information first appeared to me)

A few comments/ideas I have for the three current questions:

  • One way to test different templates for data is to practice writing up a little short formatted segment on important stuff I find and later revisit the array of templates to see which makes the most sense afterwards.
  • Probably best to program executable files first, play with the functionality and ways of displaying, then possible build a GUI on top of these programs at some later point.
  • For this it might be best to create a collection of folders in DropBox and save a string in the DB which informs me of which folder the source information is saved in. The source information could just be a .txt file with a link to a website. I don’t really see DropBox going anywhere in the next 4/5 years so I should be save to do this. Even if they were to go under I will still have the files/folders.

On the Simulation of Large Populations of Neurons

I recently found a 2000 paper titled “On the Simulation of Large Populations of Neurons” by A. Omurtag, B. W. Knight, and L. Sirovich. This paper shows two difference approaches to solving large populations of neurons. One can simulate their behavior computationally or one might choose to describe their behavior with some clever math. Today I want to discuss the clever math.

Note: I just recently installed the MathJax WordPress plugin to display LaTex so until I get use to it some equations might show up a little weird.

 

I would like to start with a well known equation used in fluid dynamics, the continuity equation for an incompressible flow. The fundamental requirement of incompressible flow is that the density, rho, is constant within an infinitesimal volume, mathrm{d}mathbf{V}, which moves with velocity, mathbf{v}. Thus:

m = int_vrho mathrm{d}mathbf{V}

Conservation of mass requires that the time derivative of m equal the mass flux, mathbf{J}, across the boundary of the volume.

frac{partial m}{partial t} = -oint_S mathbf{J}bulletmathrm{d}mathbf{S}

Applying the divergence theorem grants us the following expression:

frac{partial m}{partial t} = -int_v(mathbf{bigtriangledown}bulletmathbf{J})mathrm{d}mathbf{V}

Plugging the first equation for m into the previous equation gives us:

int_vfrac{partial rho}{partial t}mathrm{d}mathbf{V} = -int_v(mathbf{bigtriangledown}bulletmathbf{J})mathrm{d}mathbf{V}

Thus the integrands must be equal and we are left with the following result:

frac{partial rho}{partial t} = -(mathbf{bigtriangledown}bulletmathbf{J})

This result facilitates more interesting conclusions in fluid dynamics, an exercise I will leave to the reader.

The reason I bring this up is because in the paper I’m reading the authors take a similar approach in analyzing large populations of neurons. Assuming that the population of neurons within a network is constant one can also write a continuity equation in a similar fashion. Although is the case of neural networks the vector of parameters are flowing in phase space.

I find the connection here to be quite enlightening yet somewhat forced at the moment. I still need to work with this approach to discover what merit it has. Just thought I’d share, I highly recommend looking through the paper.