Monday, 28 July 2008, 21:21:12 EDT
Categories:
It has been over two months since I last posted anything here. I have been so busy with school I just didn't feel like writing about anything. But now... I have finished! Earlier this afternoon I turned in the final draft of my senior paper. Unless I get an e-mail from my advisor in the morning, with some last minute suggestions, it is done. Once that grade is committed to the record I will officially be a graduate.
The mathematics program at CSU has a capstone course MATH 4990, or Senior Seminar. In this course, you are required to do independent research on some area of mathematics that has not been covered in the degree courses. Each student is paired with an advisor who will work with them on their research. At the end of the semester the student has to present their work in a thirty minute presentation. The student also has to write a thorough paper on their topic.
I chose to research the Discrete Wavelet Transform (DWT), specifically the Haar wavelet. The typical research application is image compression. Instead of doing the same thing that has been done numerous times, my advisor suggested I compare wavelet image compression with some other image compression. So in my paper I compare using the Haar wavelet to compress images with using the Discrete Cosine Transform (DCT). The DCT is the basis of JPEG image compression.
I started my research back in January. When the spring semester was coming to a close my advisor and I agreed that there wasn't enough time for me to finish the paper. So I took an incomplete in the course to finish the paper over the summer se ... (view rest)
Monday, 22 May 2006, 12:46:14 EDT
Categories:
My Transition to Higher Level Mathematics course was more fun than I thought it would be. It was tough, but there were a couple things we did that were really neat. Some of the proofs were were asked to write were neat as well. One such proof was on my final exam. The problem is to prove, using induction and the product rule, that if a function is differentiable then the derivative of the function is equal to its power times the function raised to its power minus one time the derivative of the function. It sounds complicated but you really don't even have to know calculus; all you need are some sharp algebra skills and an understanding of what the product rule is. I had so much fun with this one I have decided to post my proof: PDF or ... (view rest)
Thursday, 06 April 2006, 14:26:30 EDT
Categories:
Kind of dead around here, I know. I've been super busy with school; I just haven't had time to think about much other than numerical methods, relations, and partitions. The last two have really been giving me trouble, not sure why. My numerical methods work, though, has made me realize something — PHP is nasty.
A major part of my numerical methods class is programming methods and analyzing them. At the beginning of the semester I weighed my options and settled on C as my primary language (I have done one program in C-sharp, though). I considered Python, but it has horrible array support and the math precision is not good enough [referring to a basic installation]. C is a weak static typed language and PHP is dynamically typed. Before getting serious in my numerical methods class, I kind of preferred the latter kind of typed language (dynamic). In a dynamically typed language you don't have to worry about whether or not your variable is a string, a number, or whatever else. The runtime interpreter figures all of that out during execution. It should make writing a program quicker with some trade-offs. The problem is that it also allows sloppy programming habits to develop.
Discounting BASIC, my first programming language was Visual Basic 4 (VB). VB, prior to VB.NET (I have no knowledge of VB.NET), allowed the programmer to specify that variables be statically defined ala C; this is how I programmed in VB. So, when I took my computer science courses at CSU, the static nature of C++ (the language we used in class) was not a difficult transition for me. I had already developed decent programming habits because I eschewed the dynamic typing VB was capable of; it made debugging a lot easier. Later, when I got into web development, I moved to PHP as my primary language. Unlike VB, PHP does not have any method with which to enforce static typing and over time I got used to it. I became so used to it, in fact, that going back to a lower level language has proven troublesome. More than once I have forgotten to properly type my variables in my numerical methods homework. This lead to all sorts of weird errors (why GCC even compiled the code is beyond me) that ... (view rest)
Wednesday, 08 March 2006, 14:10:56 EDT
Categories:
One of my courses this semester is a numerical methods course. Basically, it is the study of algorithms as related to mathematics. Since computers have finite memory, they can only work with finite numbers. Many calculations deal with numbers that are anything but finite. The numerical methods course is intended to teach me how to work around this sort of problem when programming mathematical routines on a computer. It is, of course, more involved than that but this description gives you some idea as to what today's post is about.
One problem introduced by the problem described above is subtractive cancellation. Let's say you are subtracting 1.0005 from 1.0 on a computer that can only hold four digits in memory; if this computer encounters a number smaller than 1.005 it will round to 0. On this imaginary computer 1.0 - 1.0005 will equal 1.0 not -0.0005. Of course, this same problem applies to functions like cosine, sine, and the logarithm. One way to avoid this cancellation is by using a Tayler series representation of the function, or parts of the equation, causing the problem. Well, this introduces accuracy errors of its own since the Taylor series is an approximation.
So, how do you know your equation is going to be accurate to a certain number of decimal places if you replace parts of it with an approximation? By using an appropriately accurate approximation of course! To determine how accurate a Taylor series is one must examine the remainder term of the series. That is to say, you can figure out how many terms of the series are necessary for an approximation of desired accuracy without going through many iterations of the series. This is a problem I was stuck on for quite some time this semester (way longer than I should have been). Since I have written up explanations to problems I have had difficulty with in the past, I have done the same thing for this one.
This time I am providing a PDF and a TeX file of my write-up. This is a lot ... (view rest)
Thursday, 15 September 2005, 14:01:43 EDT
Categories:
Before I get into this post I would like to say that the mathematics herein are the type I have been wanting to learn for a long time. Until recently, I didn't realize what would be required to learn and practice such math. I think if someone had actually shown me and explained it a long time ago then I wouldn't be where I am today. Instead, they just say "this is required for graduation" and "if you don't do it like this you won't pass." That is not how math should be taught and I find myself despising some of my previous teachers now even more than I did before. If, by some strange happenstance, you are a math teacher and reading this then take this advice into consideration -- show your students some of the cool aspects of what you are trying to teach them. Even if what you show them is beyond what you will teach them. It will give the student a reason to learn what you are teaching.
Ready for some math now? First, the problem: Find an equation for the plane that passes through the point (-1, 2, 1) and contains the line of intersection of the planes x + y - z = 2 and 2x - y + 3z = 1.
Let's consider the given information. We have two planes which form a line where the two planes meet and we have a point outside of those two planes but parallel to the line formed by them. We need to find a plane, on which the given point lies, that passes through the line formed by the two given planes. Let's call the plane "x + y - z = 2" P1 and the plane "2x - y + 3z = 1" P2. We will call the given point, (-1, 2, 1), p1. Don't get confused; the capital 'P' stands for "plane" while the lower case 'p' stands for "point." Let's also call the line of intersection L.
Now let's visualize the information given to us. Figure 1 is a representation of P1, figure 2 is a representation of P2, and figure 3 is a representation of both planes, P1 and P2, showing the line of intersection, L. Finally, figure 4 shows p1 in relation to P1 and P2.
What must we do to find a plane that contains p1 and passes through L? First, we need to determine a point on L. We can do this by setting z = 0 in each equation and solving the resulting system of equations. Solving P1 for y results in y = 2 - x which we then substitute into P2 to determine that x = 1 yielding the point p2 = (1, 1, 0). Now we have two points that are in the plane we wish to find an equation for. We can use these two points to determine a vector, a line with direction in space, on our plane, which we will call v. This vector is simply = represented by the blue line in figure 5.
That gives us one-third of the information we need to construct our equation. Next we need to determine another vector on our plane. We can do this by crossing the normal vectors of the two given planes. This gives us a new vector, u = . This vector u is represented by the orange line in figure 6.
The standard equation of a plane is a*(x - x1) + b*(y - y1) + c*(z - z1) = 0 where a, b, and c are the components of the normal vector to the plane and x1, y1, z1 are the components of a point on the plane. Since we already have two points on the plane all we have left to find is a normal vector to the plane. This is done by simply crossing the vectors v and u — v x u = . We can scale this vector by -(1/2) ... (view rest)
Wednesday, 14 September 2005, 14:27:49 EDT
Categories:
Why haven't I posted in a while? There are several reasons. The foremost being classwork. I have a ton of classwork to do every day; especially since I seem to love being at least one section behind in every class I take. I currently have about four sections of Linear Algebra work and 3.5 sections of Calculus III to catch up on. The Linear Algebra is actually rather simple. It is just time consuming because of all the matrices and the lameness of the book's author. Calculus, though, is different.
It is interesting the way calculus courses are split. The first course covers differential calculus; the second builds on that and covers integral calculus with sequences and series. The third course steps it up a bit and starts dealing with three dimensional space. My first test, this coming Monday, will cover vectors, planes, surfaces, and lines in space. It is all very pretty but it is also all very complicated. For example, finding the equation of a plane that contains the intersection of two given planes and a given point takes a wee bit of thinking. If I had my calculus book with me right now I would actually go through that problem here but it, and my work, is at home; so, I will do that later.
When I haven't been working on classwork I have been watching the first season of Lost on DVD. My roommate got me interested in the show at the end of the season a few months ago and I can't resist a good story line. Best Buy always sells new release DVDs at a discount and I got an extra $10.00 off because of my store card. So, I bought the season set a day or so after it came out and have been watching it whenever I can since then. I will have the first season wrapped up before next Wednesday's season two premiere. The show itself is good but the DVDs are poorly produced. My first complaint with them is the movie trailers that automatically start playing on the first disc. Sure, put them on there as "features" but don't start them automatically. I didn't buy the DVDs to watch movie trailers; I can do that online. The other gripe I have is the lack of editing for DVD. Every time an episode would fade to black for on-air commercials the DVD episode will fade to black even if it would work without the fade. If the show is going to cut to a completely different sequence after the break, which it does frequently, then it is okay to leave the fade in. But, if the s ... (view rest)
Friday, 03 June 2005, 18:22:57 EDT
Categories:
Last semester I took Calculus I. The course covered differential calculus and finished off leading in to integral calculus. By the end of the semester I was fried and couldn't handle any more so I didn't really get the integral stuff that we talked about. Well, I have had three weeks off and am starting in with Calculus II. This course begins with the very next section in the book where we left off in Calculus I. So, I have been working on catching up, I only missed two sections, over the past couple of days. The section that I stopped working on last semester had to do with Reimann Sums. Today, I finally figured out how to do them; it turns out that I was skipping one simple thing.
Let's look at the integral . This particular integral could be solved in the following manner:
That is the correct result but it is not the correct way to achieve it. If you were to solve the integral in that manner you would end up with a result of "2" when the true result is "3". The correct way to solve the problem is like so:
I was going crazy trying to figure out what I was doing wrong. Now that I have it figured out it isn't really that hard. Now I can get caught up rather quickly.
While I am on the subject, creating those images is more difficult than the math work in them. I can't find a single good, free, WYSIWYG equation editor. At least not one that would have made creating those images simple. LaTeX Equation Editor is excellent for the inline equations that are in this post but sucks really badly when it comes to the multi-line solutions. I had to use Math from the OpenOffice.org suite to type the equations. Then I had to save them as PDFs, convert the PDFs to PNGs with Automator, and finally crop the equations out of the images and resize them with an image editor. Onc ... (view rest)
Tuesday, 19 April 2005, 14:11:34 EDT
Categories:
I have started making a list of the things I want to write about in my experience with my Apple PowerBook. I want to cover everything and I want to make sure that what I write is fairly accurate. That is why I haven't made much mention of it since I acquired the machine. I don't want to do one of those "month with a Mac" or, as OSNews thinks to be relevant, "two days" with a Mac article. Thus far though, I am really digging the system and find more reasons to like it every day; in fact, I just found a neat trick using Exposé while composing this post. It will be a while yet before I write my article. I just ordered the next version of OS X and I want to include that in my article.
Here is a differentiation problem that I think is really neat. I just worked it out and realized I got it completely wrong the first time I worked it about a month and a half ago.
Let ƒ(x) = (x - 1) ... (view rest)