Ran across something interesting yesterday.
Currently the fastest way to solve multiple equations with multiple unknowns is to place them into a matrix, then reduce the matrix to it's simplest form. We call this matrix an "N by N" square matrix, where the number of equations match the number of unknowns in a one to one ratio. This goes very fast for matrices which are less then 9 by 9. Nine equations, nine unknowns. However, as you start increasing N it takes longer and longer to solve these types of matrices. That's even with using a computer. Forget trying to do these by hand!
If you had a N = 1,000,000,000. Current algorithms would take at least one second per equation, meaning it would take one billion seconds to solve this, or 32 years. However Mathmaticitians have developed an algorithm that uses the theory of quantum computing to break the solve time to instead of a second per equation, to a second per digit of N (number of equations).
If you have a billion equations (1,000,000,000) you have nine digits more than one. A N of say a trillion would take 12 seconds. A N of a thousand would take 3 seconds.
This is pretty cool stuff. If we already let the computer solve matrices that take say one hour. Then with this we could solve a matrix with 3600 digits for N. That's a 1 with 3,600 zeros behind it, or 1,200 sets of zeros or 1x10^3,600th power. A google is just 1x10^100! That's pretty staggering.
If anyone wants to come up with a name for that number, by all means. Maybe a contest? "The best name for the number 1x10^3,600".
source: http://io9.com/5443389/mathematicians-create-algorithm-so-complex-no-computer-can-use-ityet
Thursday, January 28, 2010
Wednesday, January 27, 2010
Why Object Oriented Programming?
There is a point in every programmer's life when he asks himself a certain question. That question is, “what is the big difference between procedural and object oriented programming?”. To answer this question satisfactory, we first need to look at the problems associated with procedural programming that required people to start thinking differently.
Labels:
encapsulation,
inheritence,
Object,
oriented,
polymorphism,
procedural,
programming
Required entry article...
Well, as most of you were aware, I have been thinking of starting a blog for a long time now. When I first thought of starting a blog, I told myself that I wouldn't do it based on time constraints that I have. But now I am finding that I would like an avenue to talk about what is going on in my world.
I plan to use this blog for two reasons. The first main reason is so that I have a place to talk about what is on my mind. The second reason is for a place to share papers or stories that I have written, which I would love to share with the world.
I plan to add one story or paper a week until I have caught up with the stories I will be adding, and between them I will be hopefully commenting on things in the day that interest me, or annoys me.
I try to be a carefree guy, but that doesn't always work. I hope this blog will be somewhat therapeutic in that sense. I hope it helps to draw out my emotions and feelings so I can sort them out better.
I plan to use this blog for two reasons. The first main reason is so that I have a place to talk about what is on my mind. The second reason is for a place to share papers or stories that I have written, which I would love to share with the world.
I plan to add one story or paper a week until I have caught up with the stories I will be adding, and between them I will be hopefully commenting on things in the day that interest me, or annoys me.
I try to be a carefree guy, but that doesn't always work. I hope this blog will be somewhat therapeutic in that sense. I hope it helps to draw out my emotions and feelings so I can sort them out better.
Subscribe to:
Posts (Atom)
