Dec
17
Kepler’s New Astronomy
Filed Under Applied Math, History | 3 Comments
This year (2009) is the 400th anniversary of the publication of Johannes Kepler’s book New Astronomy (Astronomia Nova) announcing the discovery of the elliptical orbit of Mars to the world. The discovery of the elliptical orbit of Mars and the mathematical rule of motion for Mars on its elliptical orbit by Johannes Kepler in 1605 is one of the most important advances in astronomy, physics, and science. This discovery transformed the unproven heliocentric theory of Copernicus into a rigorous predictive theory that outperformed the traditional geocentric theory of Claudius Ptolemy and his successors. The discovery paved the way for Newton’s theory of gravitation. It remains one of a small number of cases where a simple mathematical rule for seemingly complex and confusing data has been found. In many respects, the discovery of the elliptical orbit of Mars and other planets is more important than the better known work of Kepler’s contemporary Galileo. In honor of Kepler, NASA has named its recent mission to look for extra-solar planets, especially possible other Earths that might support life or even intelligence, the Kepler mission.
In Kepler’s time the reigning Ptolemaic theory could predict the position of Mars to within a few degrees, usually less than a one percent error. How important is such a small error? Space missions routinely depend on modern orbital dynamics, a lineal descendant of Kepler’s work, to make far more accurate calculations to succeed. The Mars Climate Orbiter mission in 1999 failed due to a tiny error. After traveling about 300 million miles, the Mars Climate Orbiter came in about 90 miles, a tiny fraction of 300 million miles, too low, burning up in the Martian atmosphere rather than aerobreaking successfully into orbit. Successful space missions, the Global Positioning System (GPS), and other modern applications depend on precision mathematical models similar to and sometimes directly descended from Kepler’s model of the orbit of Mars.
Kepler’s story is very different from the story of Galileo and it offers different lessons for today. Diverse fields ranging from astronomy and space physics to artificial intelligence are confronted with similarly complex and confusing data. A mathematical solution to an outstanding problem comparable to Kepler’s discovery could reveal long suspected connections between gravity and other forces, perhaps enabling new power or propulsion systems, enable computers to recognize objects and spoken words, or solve other problems. This article will discuss the discovery of the elliptical orbit of Mars in the context of Kepler’s time. It will also draw some lessons from Kepler and compare and contrast Kepler’s process of discovery to modern astronomy, physics, space science and engineering, including a detailed discussion of dark matter and dark energy.
Read the rest of Kepler’s New Astronomy on Scribd, where you’ll be able to download it in several formats including PDF, or click Fullscreen in the embedded document below.
PDF: Kepler’s New Astronomy.pdf
Oct
25
Faster, Better, Cheaper Search Engines
Filed Under Applied Math | 4 Comments
Searching for documents and other items on the Web or computers is often tedious and time consuming. Time is money. Highly paid professionals spend hours, days, and even longer searching for information on the Web or computers. Most search today is done using key word and phrase matching, often combined with various ranking schemes for the search results. Occasionally more advanced methods such as logical queries, e.g. search for “rocket scientist” and NOT “space”, and regular expressions are used. All of these methods have significant limitations and often require lengthy human review and further manual searching of the search results.
The dream search engine would search by topic, by the detailed content of the items searched, ideally finding the desired information immediately. Actual understanding of text remains a unfulfilled promise of artificial intelligence. Statistical language processing can achieve a degree of searching by topic. This article introduces the basic concepts and mathematics of statistical language processing and its applications to search. It gives a brief introduction and overview of more advanced techniques in statistical language processing as applied to search. It also includes sample Ruby code illustrating some simple statistical language processing methods.
Read the rest of Faster, Better, Cheaper Search Engines on Scribd, where you’ll be able to download it in several formats including PDF, or click Fullscreen in the embedded document below.
Source code: trigram.zip
PDF: Faster-Better-Cheaper-Search-Engines.pdf
Aug
19
Improve your math and programming skills with Project Euler
Filed Under Applied Math, Math Websites, Software | 6 Comments
Project Euler can be an addictive site for people who are passionate about mathematics and programming. You don’t need to be an expert in either of these two disciplines to participate in it’s challenges, but any such skills you may already possess will be an asset.
The author of the site, describes the project as follows:
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
When you first register, you will be presented with 252 problems available to be solved. This number changes frequently, however, as new problems are routinely created and added to the list. The solutions to some problems veer towards the obvious, while others require advanced mathematics to tackle. Likewise, a few can be solved with paper and pencil and a good dose of insight. Most however, will require the aid of a computer program written in the language of your choice.

A sample problem (187)
Each program you execute should output your result within a minute. That’s part of the challenge, even though there is no way for the site to enforce this rule.
When you think you’ve found the correct result for a given problem, you can fill in the result field for the problem, and see if you got it right. If you have, your answer will be added to the list of problems you solved and will count towards your overall score, while bumping up your position on the participant scoreboards. There are several scoreboards, depending on what level you are at, which in turn is determined by the number of problems you have solved so far.
More importantly, solving a problem will gain you access to the respective forum (for that problem), where you’ll be able to see solutions and discussions from other participants, who may have used different languages and solution strategies.
Project Euler is appealing for a variety of reasons. In particular:
- It allows you to explore areas of math that you might not be familiar with. Solving certain problems may require you do a fair amount of research and in turn help you to learn more about certain branches of mathematics;
- If you are a math major who is trying to hone their programming skills, you’ll find Project Euler to be challenging, fun, and an excellent opportunity for improvement. Having to implement several small programs and being able to compare your style with those of other people in the forum, will definitely end up improving your knowledge of many algorithms and your skills as a programmer;
- The site’s one minute rule has an important consequence. The computational complexity of your programs really ends up mattering. While some simple problems can in fact be brute forced, the majority of them require you to write faster algorithms and take advantage of mathematical insight so as to improve the performance of your program. For certain problems a naive approach would take more than a lifetime on current PCs;
- Finally, if you are a programmer who’s scoping out a new programming language, be it Python, Ruby, Scala, Haskell or Erlang, you’ll find a great ally in Project Euler. Having to write hundreds of programs in a given language, will naturally increase your familiarity with that language. And again, comparing your newcomer coding style with those of more experience participants, will no doubt contribute to your advancement within the given language you’re focusing on.
Project Euler truly deserves five stars. I recommend it highly to anyone who is unafraid of writing a few lines of code in order to solve interesting math problems.


Subscribe Articles
Subscribe Comments
Subscribe via Email













