tag:blogger.com,1999:blog-55282504170046900142018-03-07T11:49:57.899-08:00Mathmatics and EconomicsLooking at the mathematical side of economics in today's trying times.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-5528250417004690014.post-73041509026930654622010-02-08T23:35:00.000-08:002010-02-08T23:48:59.805-08:00Math MysteryIt is amazing how easily you can get things wrong when you forget the basics. Here is a case and point from today, I was recalling the Taylor series of <i>e<sup>x</sup></i>, and something didn't add up. First lets look at the intergral of <i>e<sup>x</sup></i>:<br /><br /><img src="http://latex.codecogs.com/gif.latex?%5Cint%20e%5Ex%20dx%20=%20e%5Ex" title="\int e^x = e^x" /><br /><br />Noting the Taylor Series of <i>e<sup>x</sup></i>:<br /><br /><img src="http://latex.codecogs.com/gif.latex?\int e^x dx = \int \sum_{n=0}^{\infty}\frac{x^n}{n!} dx = \sum_{n=0}^{\infty} \int \frac{x^n}{n!} dx" title="\int e^x dx = \int \sum_{n=0}^{\infty}\frac{x^n}{n!} dx = \sum_{n=0}^{\infty} \int \frac{x^n}{n!} dx" /><br /><img src="http://latex.codecogs.com/gif.latex?=\sum_{n=0}^{\infty}\frac{x^{n+1}}{(n+1)*n!}=\sum_{n=0}^{\infty}\frac{x^{n+1}}{(n+1)!}=\sum_{n=1}^{\infty}\frac{x^{n}}{(n)!}" title="=\sum_{n=0}^{\infty}\frac{x^{n+1}}{(n+1)*n!}=\sum_{n=0}^{\infty}\frac{x^{n+1}}{(n+1)!}=\sum_{n=1}^{\infty}\frac{x^{n}}{(n)!}" /><br /><img src="http://latex.codecogs.com/gif.latex?= e^x - 1" title="= e^x - 1" /><br /><br />Clearly these two methods yield a different result. Spot the error that I made, it took me a second to figure it out....ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com1tag:blogger.com,1999:blog-5528250417004690014.post-48734122551460094952009-08-19T17:59:00.000-07:002009-08-20T11:00:53.277-07:00Why there can never been an end all be all APII have heard people rail on that open source reduces coding time because it prevents you from having to reinvent the wheel. This argument is only true in part, because sometimes it is necessary to optimize the code heavly, which means making certain assumptions about your domain. Sometimes, the open source layer, is on the other extreme and made to many assumptions for your application. Please note that closed source API's are no different in this regard. So in the end keep in mind that sometimes, you might be stuck rewriting, or at least thoroughly revamping something as ordinary as a MP3 decoder.<br /><br />Open source code is generally very poorly documented, when you buy source code from a vendor it is typically documented better and you will get support for the code, even if you need to change it. They will first see if its possible to do what you want to do without modification of the base API, this is a good thing. However if you find that this is not the case they should help you muck their code base into another hemisphere.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-39021023723146906072009-07-22T21:13:00.000-07:002009-07-22T21:12:51.645-07:00Know thy HashI work a lot with various kinds of hashes in my profession, and I am finding more and more that peoples understanding of hashes is haphazard at best. Hashes are defined to meet the following goals:<br /><ul><br /><li>It is easy to compute a hash for a given length.<br /></li><li>It is infeasible to find a message given a hash.<br /></li><li>It is infeasible to change the message without changing the hash.<br /></li><li>It is infeasible to find to messages with the same hash.<br /></li></ul><br />Oddly enough the middle two are more for cryptographic purposes, then they are for "general" hashes. Using a hash to store data into a Hash Table for example, there is no need to use a complex hash.<br /><br />So this is the first observation, know what your hash was designed for. Hashes are typically designed for one of two purposes. The first is Cryptography examples include MD5, SHA-1, etc. These are generally the slowest to compute, have a large number of output bits. These hashes should be reserved for what they are designed for. Their strength and bit complexity does make they useful at uniquely identifying files.<br /><br />The second is to discriminate some data from others quickly, generally in a hash table. The first lesson is that uniqueness is never guaranteed. The second is use a hash that is both fast and is very low from a collision point of view. You also want a hash whose result will be in the same number of bits as the native register. 32 or 64 bits right now. <a href="http://www.azillionmonkeys.com/qed/hash.html">Here are some examples of fast hashes</a>.<br /><br />Make sure to deal with collisions, <a href="http://en.wikipedia.org/wiki/Birthday_attack">they are simply far more likely then you think</a>. Also remember that this analysis assumes that the hash is strongly collision free, if that is not the case the results are worse.<br /><br />Finally, there is a trend to use things that where never designed to be hashes as hashes. For example the CRC-32 algorithm. Using this algorithm as a hash is generally a bad idea because there are hashes that are much faster to compute with similar properties for being collision free.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-72303176575674200652009-06-24T19:18:00.000-07:002009-06-25T11:00:25.580-07:00Mathematics of a Perfect HashThis is in response to a problem known as the "<a href="http://elliottkember.com/kember_identity.html">Kember Identity</a>". I wanted to know if this search was in vane, or had some chance of success. The third requirement of a Hash is that "It is computationally infeasible to find messages <i>m<sub>1</sub></i> and <i>m<sub>2</sub></i> with <i>h(m<sub>1</sub>) = h(m<sub>2</sub>)</i> (in this case, the function <i>h</i> is said to be <b>strongly collision-free</b>)" (<a href="http://www.amazon.com/Introduction-Cryptography-Coding-Theory-2nd/dp/0131862391/ref=sr_1_1?ie=UTF8&s=books&qid=1245891583&sr=8-1">Trappe p219</a>). Given that statement it is reasonable to state that the bits of the hash should be randomly flipped.<br /><br />The idea of the Kember Identity is simple, find a hash of a message (in this case MD5) such that: <i>h(m) = m</i>. In order for this to occur the bits of at least one 128-bit message need to hash into the same 128 bit digest. Assuming a hash that has the property of treating all bit combinations as equal even its own, there is a 1 in 2<sup>128</sup> chance that any single value will achieve this. This can be restated as there is a 2<sup>128</sup>-1 in 2<sup>128</sup> chance that it will be anything else. The question is what are the odds that all 2<sup>128</sup> will be anything else, the answer is:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=\left (\frac{2^{128}-1}{2^{128}} \right )\left (\frac{2^{128}-1}{2^{128}} \right )\left ( ... \right )=\left (\frac{2^{128}-1}{2^{128}} \right )^{2^{128}}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\left (\frac{2^{128}-1}{2^{128}} \right )\left (\frac{2^{128}-1}{2^{128}} \right )\left ( ... \right )=\left (\frac{2^{128}-1}{2^{128}} \right )^{2^{128}}" title="\left (\frac{2^{128}-1}{2^{128}} \right )\left (\frac{2^{128}-1}{2^{128}} \right )\left ( ... \right )=\left (\frac{2^{128}-1}{2^{128}} \right )^{2^{128}}" /></a><br /><br />Using my favorite package to ask big math questions on (<a href="http://pari.math.u-bordeaux.fr/">PARI</a>), I came up with an answer of approximately 37%. That means there is a 37% chance that in a perfect hash there will be no combination of a 128-bit message that will produce the same output. To put it in the reverse which I am sure my friend who is searching for the "Kember Identity" is interested in, that means that there is a 63% percent chance that there is at least one 128-bit message whose digest is the same.<br /><br />Kember came out here much better then I predicted. I should have remembered the lessons of the <a href="http://en.wikipedia.org/wiki/Birthday_paradox">Birthday Paradox</a>. Needless to say if MD5 performs near the assumptions above there is a better then 50/50 chance that such a hash exists. I wish Kember the best of luck in his search.<br /><br />UPDATE: Since 2<sup>128</sup> is a very large number lets see what happens when the above equation goes to infinity:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=\lim_{n\to \infty } \left (\frac{n-1}{n} \right )^{n} = e^{-1}\approx 0.37" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\lim_{n\to \infty } \left (\frac{n-1}{n} \right )^{n} = e^{-1}\approx 0.37" title="\lim_{n\to \infty } \left (\frac{n-1}{n} \right )^{n} = e^{-1}\approx 0.37" /></a><br /><br />Which gives an answer near the long and more correct way to calculate this.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-85138703326765398692009-06-18T18:40:00.000-07:002009-06-18T18:44:07.898-07:00Overpayments on LoansSomeone came up to me today and asked about what are known as Bi-weekly loans. The statement he made at first was slightly counter intuitive, "You can make half your monthly payment and pay off your loan in six to eight years earlier." I was doubtful, and the math did not yield the result, if anything more compounding cycles means you would pay more over 30 years not less.<br /><br />The "trick" or lie (if your the bank) is that with the Bi-weekly schedule you actually make what is equivalent to an extra month payment every year. My contention was that if you overpaid the mortgage by the same amount each month that would sum up to what you where effectively doing with a Bi-weekly schedule you would wind up in the same position or near the same position, so lets take a look at that.<br /><br />Resolving our relationship <i>X</i> from the previous article for <i>nt</i> yields:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=nt=-\frac{\ln(1-(r/t)(1/(X@plus;OP))(P-D))}{\ln(1@plus;r/t)}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?nt=-\frac{\ln(1-(r/t)(1/(X+OP))(P-D))}{\ln(1+r/t)}" title="nt=-\frac{\ln(1-(r/t)(1/(X+OP))(P-D))}{\ln(1+r/t)}" /></a><br /><br />So if you overpay <i>OP</i> by <i>X/12</i> each schedule you will find that you will pay the loan off by about the same amount of time. Example <i>r = 4%</i>, <i>t = 12</i>, <i>X = 1432.25</i>, <i>P = 300,000</i>. Note that a payment of 1432.25 is what it takes pay of the loan in 30 years. Applying this the equation above we find that overpaying by the specified amount would yield 310.78 terms or you would be able to pay it off in 25 years and 11 months, the last month you would make a reduced payment of $1211.<br /><br />So if you don't want to refinance your loan, just make the overpayment and make sure to write on the stub that you want the additional amount to be applied to the principal.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-44050544335437007772009-06-17T23:15:00.000-07:002009-06-29T10:14:05.608-07:00Here a geometric series there a geometric seriesOver the past two weeks I have been running into geometric series everywhere. Geometric series are simple little equations that have the form of:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=\sum_{i=0}^{n} ak^i" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\sum_{i=0}^{n} ak^i" title="\sum_{i=0}^{n} ak^i" /></a><br /><br />There is wiki that goes into the basics of geometric sums and their basic identies on Wikipedia: <a href="http://en.wikipedia.org/wiki/Geometric_series">http://en.wikipedia.org/wiki/Geometric_series</a>. For now I only present to you one of the places I have run into this little bad boy, and that is in the calculation of amortization. Every time I go through a application that does this I wondered where the math came from, I finally decided to work it out for my self.<br /><br />Lets start with the knowns, <i>r</i> is the yearly APR, <i>t</i> is the number of times the APR is compounded in a year, <i>n</i> is the number of years, <i>P</i> is the principle on the loan, and <i>D</i> is your down payment. The only variable we are looking for <i>X</i> is your monthly payments. At the end of the loan term or n*t payments we would like there to be no balance in the account.<br /><br />First the amount that in the loan has to start with:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(0) = P - D" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(0) = P - D" title="y(0) = P - D" /></a><br /><br />Each subsequent payment takes interest from the previous period, and deducts your payment:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(1) = (1@plus;r/t)y(0) - X" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(1) = (1+r/t)y(0) - X" title="y(1) = (1+r/t)y(0) - X" /></a><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(2) = (1@plus;r/t)y(1) - X" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(2) = (1+r/t)y(1) - X" title="y(2) = (1+r/t)y(1) - X" /></a><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(nt) = (1@plus;r/t)y(nt-1) - X" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(nt) = (1+r/t)y(nt-1) - X" title="y(nt) = (1+r/t)y(nt-1) - X" /></a><br /><br />Expanding the recursive relationship manually reveals a equation that can have <a href="http://mathworld.wolfram.com/HornersRule.html">Horner's Rule</a> applied to reduce it to a more manageable form:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=\begin{align*} y(nt) &= -X @plus; (1@plus;r/t)(-X @plus; (1@plus;r/t)(...\ @plus;\\ &@plus; (1@plus;r/t)(P-D)) \end{align*}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\begin{align*} y(nt) &= -X + (1+r/t)(-X + (1+r/t)(...\ +\\ &+ (1+r/t)(P-D)) \end{align*}" title="\begin{align*} y(nt) &= -X + (1+r/t)(-X + (1+r/t)(...\ +\\ &+ (1+r/t)(P-D)) \end{align*}" /></a><br /><br />Transposing by Horner's Rule and collapsing the subsequent series into a Geometric Series:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(nt) = (P-D)(1@plus;r/t)^{nt}-\sum_{i=0}^{nt-1} X (1@plus;r/t)^i" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(nt) = (P-D)(1+r/t)^{nt}-\sum_{i=0}^{nt-1} X (1+r/t)^i" title="y(nt) = (P-D)(1+r/t)^{nt}-\sum_{i=0}^{nt-1} X (1+r/t)^i" /></a><br /><br />Apply the identity from the Wikipedia page above:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(nt) = (P-D)(1@plus;r/t)^{nt}-X\frac{(1@plus;r/t)^{nt}-1}{r/t}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(nt) = (P-D)(1+r/t)^{nt}-X\frac{(1+r/t)^{nt}-1}{r/t}" title="y(nt) = (P-D)(1+r/t)^{nt}-X\frac{(1+r/t)^{nt}-1}{r/t}" /></a><br /><br />Recalling that at the end of the term we desire no net balance, solving for X and simplifying:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=y(nt) = 0" target="_blank"><img src="http://latex.codecogs.com/gif.latex?y(nt) = 0" title="y(nt) = 0" /></a><br /><a href="http://www.codecogs.com/eqnedit.php?latex=(P-D)(1@plus;r/t)^{nt}=X\frac{(1@plus;r/t)^{nt}-1}{r/t}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?(P-D)(1+r/t)^{nt}=X\frac{(1+r/t)^{nt}-1}{r/t}" title="(P-D)(1+r/t)^{nt}=X\frac{(1+r/t)^{nt}-1}{r/t}" /></a><br /><a href="http://www.codecogs.com/eqnedit.php?latex=X=\frac{r/t(P-D)(1@plus;r/t)^{nt}}{(1@plus;r/t)^{nt}-1}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?X=\frac{r/t(P-D)(1+r/t)^{nt}}{(1+r/t)^{nt}-1}" title="X=\frac{r/t(P-D)(1+r/t)^{nt}}{(1+r/t)^{nt}-1}" /></a><br /><br />Now I have the magic amortization formula in my back pocket in case I ever need it again. You can also quickly calculate your total payments <i>Xnt</i> or the amount of interest you paid <i>Xnt - (P - D)</i>. The two other areas I have had the Geometric Series show up was calculating the probability of winning at a game of dice, and a 401k what if Excel sheet I made. The Dice game is really interesting because it deals with an unbounded Geometric Series.<br /><br />UPDATE: A simplification of the formula above is possible:<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=X=\frac{r/t(P-D)}{1-(1@plus;r/t)^{-nt}}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?X=\frac{r/t(P-D)}{1-(1+r/t)^{-nt}}" title="X=\frac{r/t(P-D)}{1-(1+r/t)^{-nt}}" /></a><br /><br />If you know how much you can pay each month <i>X</i> and are looking for how much of a mortgage you can afford you can resolve the equation above for <i>P-D</i><br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=P-D=\frac{X(1-(1@plus;r/t)^{-nt})}{r/t}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?P-D=\frac{X(1-(1+r/t)^{-nt})}{r/t}" title="P-D=\frac{X(1-(1+r/t)^{-nt})}{r/t}" /></a><br /><br />Also note that there is a linear relationship between the amount you can pay and the amount of a mortgage you can afford.<br /><br /><a href="http://www.codecogs.com/eqnedit.php?latex=\frac{\partial}{\partial X}(P-D)=\frac{1-(1@plus;r/t)^{-nt}}{r/t}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\frac{\partial}{\partial X}(P-D)=\frac{1-(1+r/t)^{-nt}}{r/t}" title="\frac{\partial}{\partial X}(P-D)=\frac{1-(1+r/t)^{-nt}}{r/t}" /></a><br /><br />UPDATE: Homer's Rule replaced with Horner's Ruleograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-75652142222270793242009-06-16T07:51:00.000-07:002009-06-16T08:04:21.834-07:00Why Traditional 401k wins, assuming same tax rateOne of my friends asked me to explain why the Traditional 401k wins over the Roth 401k in more detail assuming the tax rates are the same as when they retire. Lets assume an individual makes $50,000 today, this means he is taxed at an average tax rate of 11.9% (Federal Income only) but is in the 25% tax bracket. Lets say the same individual puts away $2500 dollars.<br /><br />This means that his average tax rate dropped to 11.21%, also his take away income only dropped $1875. Now lets say we assume he retires as the financial experts say with 80% of todays income, or 40,000. When he re walks the system his tax rate has dropped even again to 9.45% of his income coming out of the 401k, and he has even dropped to the 15% bracket.<br /><br />In the case of the Roth 401k you are always at a tax rate of 11.9%. This means when you assume that taxes will go up in the future (comparing the Roth to the Traditional) you must also assume the tax rates will go up enough in the future to cancel out this effect. Since I don't see the marginal tax system in the country going any where I am going to assume that odds are you are going to find that it will probably stay the same or even get better unless you are in the top 2%.<br /><br />Source for Tax Calculations: <a href="http://www.dinkytown.net/java/TaxMargin.html">http://www.dinkytown.net/java/TaxMargin.html</a>ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-84328009980455748272009-06-15T19:28:00.000-07:002009-06-16T07:49:45.878-07:00Traditional 401k vs Roth 401kThere are a lot of factors to consider when choosing whether or not to contribute your money twords a Traditional or Roth 401k if your company offers both. Here are some things to consider when comparing the two:<br /><br /><ul><li> What is the income you are making now vs the amount that you want when you retire?</li><li>Does your company match?</li><li>Do you think taxes will be higher or lower for you when you retire?</li><li>Will you max out the 401k?</li><li>When do you want to retire?</li></ul><br />The key differance between a Traditional 401k and a Roth 401k is that in a Traditional you do not pay taxes now, rather you pay taxes when you take the money out. On the other hand the Roth 401k is different in the sense that you pay taxes now, but when you take the money out you don't pay taxes.<br /><br />If you assume no company match and the tax rate today is going to be the same as when you retire, the two are generally considered a wash. This is actually untrue, the reason is when you defer your Traditional 401k contrabitions they are deferred at the highest taxable bracket that you are currently in. When you take out the money after you retire you re-walk the marginal tax brackets, this means that the money is actually taxed at a lower taxable rate when you take it out. Therefore dollar for dollar the Traditional 401k makes more sense assuming equivalent tax rates.<br /><br />When talking about where tax rates are now and where they will be when you retire this depends on you as a individual as much as it does the bureaucrats in DC. If you are a lowly slug in the food chain right now, and you retire as a CEO it is clear that you are on a lower tax bracket now as the lowly slug then you will ever be in your entire life, so in this case the Roth makes sense. It also depends on what you think the cronies on capital hill will do with the laws between now and when you retire. Many assume that taxes will be higher then they are now, and therefore argue that the Roth 401k is advantageous. I argue that it is difficult to gauge either way, if you take historical trends into account its really hard to pin down where taxes will go.<br /><br />If your company offers a match generally the match is better in Traditional because the match is made as a Traditional 401k, so you have to pay taxes on the match when you take it out. Since the amount of match that you get when you contribute to a Roth is effectively lower you are better positioned when you apply your match to a Traditional 401k.<br /><br />If you can max out the 16,500 contribution limit, then it always makes sense to go Roth, because you can end up contributing more then with a traditional 401k. The last thing you must consider is when you are planning to retire. Current Traditional 401k law forces you to begin taking out minimum 401k distrabutions at the age of 70 1/2, if you plan on retiring much later say 80, you might want to consider the Roth 401k.<br /><br />There is nothing to stop you from contributing to both the Traditional and Roth 401k's. As always you must pick an investment strategy that not only you are conferable with, but makes sense for you as well.<br /><br />UPDATE: In the case of the Roth only a Roth IRA prevents you from having to take the distribution at 70 1/2. So if you want to avoid it you have roll it over to a IRA.<br /><br />UPDATE 2: The forced distribution age was changed form 59 1/2 to 70 1/2.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0tag:blogger.com,1999:blog-5528250417004690014.post-54194283654773591842009-06-15T18:41:00.000-07:002009-06-15T22:11:02.567-07:00A "Small" loss in GDP Growth.I was watching the Bill Maher show, and some colossal bag of ignorance stated that, "We can stand to sacrifice a small amount of GDP growth" for the sake of social programs. He admitted that conservatives are correct that such social programs do stifle GDP growth, so at least the conservatives are winning on that front.<br /><br />What is amazing to me is this man claims to understand the economy, if I went up to him and asked him, "should start saving for retirement now or ten years from now?" His response to my question would be to start saving now. So I am sure that he understands the concept of compound interest, but why can't he understand that it affects the country in the same way. Lets look at a table of how different GDP growth rates would affect a country year to year. We start with country having a base GDP index of 100.<br /><br /><table border="0"><tbody><tr><td align="right">Years<br /></td><td align="right">3%</td><td align="right">5%</td><td align="right">8%</td></tr><tr><td align="right">0</td><td align="right">100.00</td><td align="right">100.00</td><td align="right">100.00</td></tr><tr><td align="right">1</td><td align="right">103.00</td><td align="right">105.00</td><td align="right">108.00</td></tr><tr><td align="right">5</td><td align="right">115.93</td><td align="right">127.63</td><td align="right">146.93</td></tr><tr><td align="right">10</td><td align="right">134.39</td><td align="right">162.89</td><td align="right">215.89</td></tr><tr><td align="right">30</td><td align="right">242.73</td><td align="right">432.19</td><td align="right">1006.27</td></tr><tr><td align="right">50</td><td align="right">438.39</td><td align="right">1146.74</td><td align="right">4690.16</td></tr><tr><td align="right">100</td><td align="right">1921.86</td><td align="right">13150.13</td><td align="right">219976.13</td></tr></tbody></table><br />As you can see from the table above, even a small delta in GDP growth in a human life span is absolutely staggering. What is even more interesting is if you assume that each one of these is a country. The country that has the Annual GDP growth of 8% per year might have little to no social programs, however, its economy is 17 times larger then the economy with 5% growth, and 114 times larger then the country with 3% growth at the end of 100 years. This means that even the "poor" in the country with 8% GDP growth are most likely better off then the people receiving services in the countries that have 5% and 3% GDP growth. We see exactly this in America, although our assistance to the poor is low from a GDP standpoint, we don't have to assist that much because our per capita GDP is so high. If you reduce that per capita GDP it means you need more social programs, its a self destructive cycle. We also see this when we look at the history of the USA and Mexcio, in the 1850's the two countries economis where about equal, now the USA economy is much stronger the Mexico's, the GDP growth of the USA was simply much larger then Mexico's.<br /><br />The key here is the power of compounding, the fact that so many people can ignore the effects of compounding in the long term is why we don't have more people saving at a young age. So when you are looking at the effects of compounding remeber it is always a powerful force wether it is your retirment account, or the strength of the country that you live in.ograllhttp://www.blogger.com/profile/06283308517186982579noreply@blogger.com0