A friend of mine suggested that we should all try translating the word "amor", meaning love in several languages as well as the Latin name for Cupid, into Hungarian using Google Translate. I present to you the results:
28 November 2009
23 October 2009
I'm Alive
I'm alive! This has been a very difficult week in the math homework department. I'll post updates later as well as the statement (and maybe proof) of the linear analysis exercise that kicked my bum this time around.
This week reminds me of a time where a friend of mine said that my course list of linear analysis, network optimization, and numerical analysis sounds like an "undergraduate-level" curriculum. I find this very amusing. My classmates might not agree.
Speaking of numerical analysis, for now I'll share a cool picture. The series of plots below comes from the following problem: in a 15x40 matrix of zeros, insert ones into the appropriate places such that the word "HELLO" is spelled out diagonally across the matrix. Given the construction, prove that the matrix has rank 10, computationally verify, and then calculate optimal rank 1 to rank 9 approximations of the matrix and plot the approximations.
So these are the rank 1 to rank 10 approximations, then. Pretty, huh? You can find the precise problem statement here on Page 68, Exercise 9.3. It's a nice problem if you want to learn how to use matplotlib's plotting techniques!
This week reminds me of a time where a friend of mine said that my course list of linear analysis, network optimization, and numerical analysis sounds like an "undergraduate-level" curriculum. I find this very amusing. My classmates might not agree.
Speaking of numerical analysis, for now I'll share a cool picture. The series of plots below comes from the following problem: in a 15x40 matrix of zeros, insert ones into the appropriate places such that the word "HELLO" is spelled out diagonally across the matrix. Given the construction, prove that the matrix has rank 10, computationally verify, and then calculate optimal rank 1 to rank 9 approximations of the matrix and plot the approximations.
So these are the rank 1 to rank 10 approximations, then. Pretty, huh? You can find the precise problem statement here on Page 68, Exercise 9.3. It's a nice problem if you want to learn how to use matplotlib's plotting techniques!
Labels:
graduate school,
linear analysis,
Math,
numerical analysis,
Personal
05 October 2009
Enthought Python Distribution on Snow Leopard
It works! In particular, the matplotlib bundled with it works on Snow Leopard. Download it here.
Some Notes: I already built numpy, scipy, and matplotlib from source and installed in my home directory under ~/lib/python. (i.e. I executed python setup.py install --home=~ for these and other Python packages.) My own custom installations conflicted with the Enthought versions so I renamed the directories and distutils .egg files. Also, I had to remove the libpng library I downloaded in an attempt to make the source matplotlib work. After that everything worked just fine!
Now time to write up that NARC presentation on numerical and scientific computing with Python...
Some Notes: I already built numpy, scipy, and matplotlib from source and installed in my home directory under ~/lib/python. (i.e. I executed python setup.py install --home=~ for these and other Python packages.) My own custom installations conflicted with the Enthought versions so I renamed the directories and distutils .egg files. Also, I had to remove the libpng library I downloaded in an attempt to make the source matplotlib work. After that everything worked just fine!
Now time to write up that NARC presentation on numerical and scientific computing with Python...
30 September 2009
Considering Courses
This quarter will be a very important one.
I intend to apply to various Ph.D. programs soon. The Masters program in Applied Mathematics is only a year long which means there's little time to "settle in". Therefore, my coursework and performance in the Autumn quarter will be very important since that will be the only graduate quarter Ph.D. programs will see! Since my undergraduate resume isn't much to look at, I have to make this quarter count as much as possible.
My schedule for this quarter will consist of some of the following classes. I'd like to take them all but since there are only 24 hours per day I'll have to choose. The first list are my top candidates:
Here are some other courses I'm interested in. For the sake of time and the need to fulfill prerequisites, I might have to take them at a later time:
In addition, I'm taking two reading courses: an RA / reading course with Randy on Clawpack and Finite Volume Methods as well as a reading course with Bernard on Riemann surfaces and their applications to solving shallow-wave equations.
This is going to be a tough quarter. However, I hope to prove my worthiness to whatever high powers are selected to determine my possible future as a Ph.D. student. In the end, I think this year is going to be fun and very educational. That's the most important, right?
I intend to apply to various Ph.D. programs soon. The Masters program in Applied Mathematics is only a year long which means there's little time to "settle in". Therefore, my coursework and performance in the Autumn quarter will be very important since that will be the only graduate quarter Ph.D. programs will see! Since my undergraduate resume isn't much to look at, I have to make this quarter count as much as possible.
My schedule for this quarter will consist of some of the following classes. I'd like to take them all but since there are only 24 hours per day I'll have to choose. The first list are my top candidates:
- AMath 584: Applied Linear Algebra --- This is a standard course that all applied math students need to take. I was hoping to take this course anyway since I see something computational linear algebra-related in my future.
- AMath 514: Network Optimization --- A course taught in conjunction with the mathematics department on networks and flows. I did some stuff with hidden Markov models and thought it was fun. Plus, every mathematician should have some graph theory in their Bat-Belt. Also, it's nice to have a class that's a bit outside one's core interests.
- Math 554: Linear Analysis --- A "highly theoretical" course in linear analysis and matrix theory. Of the three professors who's work interests me thus far (Bernard, Anne, and Randy) this is a highly likely pre-requisite. Plus, I'll need to wean myself off of proofs if I'm going to be taking more applied math courses in the future. :)
Here are some other courses I'm interested in. For the sake of time and the need to fulfill prerequisites, I might have to take them at a later time:
- AMath 567: Applied Analysis --- This is a "condensed" version of the Math 554-556 series; of which I'm hoping to take as indicated above. I'd hate to let go of it since Anne is an excellent professor.
- AMath 570: Perturbation Methods and Asymptotics --- A core course for the Ph.D. track. Even though I don't fulfill the requirements, it would be good to take for the sake of proving myself worthy of the Ph.D. program. Tough decisions all around...
In addition, I'm taking two reading courses: an RA / reading course with Randy on Clawpack and Finite Volume Methods as well as a reading course with Bernard on Riemann surfaces and their applications to solving shallow-wave equations.
This is going to be a tough quarter. However, I hope to prove my worthiness to whatever high powers are selected to determine my possible future as a Ph.D. student. In the end, I think this year is going to be fun and very educational. That's the most important, right?
Labels:
classes,
graduate school,
Research
15 September 2009
Gmail is Incredible
I ordered a modem (and plan) from Clearwire today. The email message included a UPS tracking number for those who enjoy obsessively watching the travels of their packages as they make their way to peoples' homes. However, take a look at what Google has done with that information:
Just like the the Gmail auto-detection of events which allows ease of addition to your calendar! It seems like a tiny convenience but I think it's just incredible... Go Google!
Just like the the Gmail auto-detection of events which allows ease of addition to your calendar! It seems like a tiny convenience but I think it's just incredible... Go Google!
Playing with OpenCL
OpenCL (Open Computing Language) is a standard for writing programs that take advantage of all of the computational resources on your machine: multi-core CPUs, GPUs, and even others. From what I understand thus far it's similar to OpenMP but takes it a step further and introduces some generalizations of the parallel programming process. This allow, for one, the ability to use OpenCL to farm out processes to both CPUs and GPUs (even simultaneously) without changing much of the way the main program interfaces with these two devices.
I decided to take a look since I believe that parallel programming will be the next step all computational scientists must take eventually. For now, I'll post some resources for anyone interested in taking a look themselves. Later, perhaps I'll post a step-by-step on how to use OpenCL for parallel programming...once I learn how exactly it's all put together.
Now, from what I understand, OpenCL is a standard. What this means, I think, is that it's up to developers to implement the standard into their...whatever. (Compiler, System, Graphics Cards) What's been getting Mac-olytes excited is that Snow Leopard comes with such an implementation allowing you to write OpenCL-integrated C-programs using their framework. Just be sure to include the -framework OpenCL flag when you run gcc or clang:
$ gcc -framework OpenCL
For now, some resources to get you going:
I decided to take a look since I believe that parallel programming will be the next step all computational scientists must take eventually. For now, I'll post some resources for anyone interested in taking a look themselves. Later, perhaps I'll post a step-by-step on how to use OpenCL for parallel programming...once I learn how exactly it's all put together.
Now, from what I understand, OpenCL is a standard. What this means, I think, is that it's up to developers to implement the standard into their...whatever. (Compiler, System, Graphics Cards) What's been getting Mac-olytes excited is that Snow Leopard comes with such an implementation allowing you to write OpenCL-integrated C-programs using their framework. Just be sure to include the -framework OpenCL flag when you run gcc or clang:
$ gcc -framework OpenCL
For now, some resources to get you going:
- Official Site: The Official Site with the full specifications. Not great for starting off learning how to code with OpenCL but it has a a good reference manual once you're up and running as well as a nifty quick reference card.
- MacResearch: A series of videos (a new one just popped up as I was writing this) that provide, thus far, an overview of what is OpenCL and how to use it. A good start. There's even a podcast! Also, be sure to download and take a look at the Episode 3 example. You don't need to use XCode to compile it as long you include the -framework OpenCL flag during linking.
- OpenCL Programming Guide for OS X: Since, to my knowledge, OS X is the only operating system thus far with an OpenCL implementation, this is naturally a good place to go. The general explanation is nice but the examples are only okay. There are some downloadable XCode projects that serve as decent examples.
- Python OpenCL: As expected, there are Python bindings as well. Haven't tried it out yet. Let me know if it's any good!
Labels:
c,
gcc,
opencl,
programming,
Research
03 September 2009
Websites and Setup Scripts: Random Updates
I haven't posted in a while! This is mostly because I've been busy with a couple things which I'll list here. Don't worry, I'm not going to apologize for not posting more.
What I've been up to:
One thing I forgot to mention from the SciPy conference: on the morning of the first day of tutorials I saw this on the news:
Starting the Scientific Python conference right, I suppose.
Random Thoughts:
What I've been up to:
- Purchasing a domain name: I decided to buy one through Google Apps. You can now find me at
(You may have noticed that this blog is now at http://blog.cswiercz.info) Not only do I have the domain name but I put my website on Google's server instead of the Applied Math server. Not sure where I'll be next year so it's good to have, for my situation, a more central location. Finally, like a lot of academics' websites, it's constantly under construction. I just refuse to put little GIFs on construction workers all over the page. - Concerning Clawpack: believe it or not, I'm still wrestling with the setup.py installation script. Many things broke since we converted to a new program structure involving a Python-Fortran bridge library. However, things are almost working again. Essentially what needs to happen is that the core Fortran library, libclawpack.so, need to be built and installed into a directory under the user's LD_LIBRARY_PATH environment variable. This is because the Python-Fortran bridge library, pyclawpack.so, needs to link to the core library. Since they're both dynamic the setup script needs to perform some environment variable checks or else things break down. Only then can we move on to the Pyclaw standard distutils installation process.
- Converting Examples: Once the Clawpack setup script is squared away I hope to begin converting some of the Clawpack 4.x examples to the Clawpack 5.0 format. This will be a good opportunity to learn how to use the new system as well as implement some of the things I've been learning from Randy's book
One thing I forgot to mention from the SciPy conference: on the morning of the first day of tutorials I saw this on the news:
Starting the Scientific Python conference right, I suppose.
Random Thoughts:
- After getting fed up with the poor compatibility between my Macbook Pro's wireless antenna and Ubuntu's drivers for such things, I decided to wipe the Ubuntu install when I installed Snow Leopard. No worries since 95% of my work and personal stuff is floating on a cloud somewhere...
- ...and speaking of Ubuntu. I think there was an incompatibility with Ubuntu's battery handling algorithms and my lappy battery because Snow Leopard is indicating that it needs to be serviced. I believe it since my battery's lifespan has fallen to 1:30 instead of the usual 4ish hours.
- (Que Mac-haters' rants. :P Though, since I do so much development on Linux platforms I'm considering purchasing a netbook and popping Ubuntu Netbook Remix on it and use the Macbook for mostly personal stuff. It actually doesn't matter too much since I do most of my development remotely. I have a one terminal window up for my local machine, screen running on the Clawpack server in another terminal session, and a third terminal running screen on the Sage server.)
- I introduced some engineering friends to the Scipy - Numpy - Matplotlib combo. They're such heavy Matlab users so I thought I'd share with them an open-source option. The reception was not to bad especially after giving some demonstrations.
Subscribe to:
Posts (Atom)



