Readings

Jan. 29th, 2010 09:37 pm
winterthunder: (Default)
[personal profile] winterthunder posting in [community profile] intro_to_cs
No problem set this week! \0/

Instead, we get two readings to mull over: Floating Point Arithmetic and Newton's Method. Now, the first one I was all right with. I can't envision a situation in which I could possibly care that Python rounds to only seventeen significant digits, but hey, I guess it's good to know these things. But what does Newton's method have to do with programming?

On a side note (and out of curiosity on my part), we started out with 30 something people following along. How many are still with us as we go into the fifth lecture? Stand up and be counted!

Date: 2010-01-30 03:30 am (UTC)
jetamors: Yoruichi is really hot (Default)
From: [personal profile] jetamors
I took a whole class on non-linear parameter estimation, so I know aaaallll about Newton method (or at least I did at one point).

Basically, a computer can't calculate anything analytically. A good example of something with an analytical solution is a derivative. Derivatives are pretty easy for a human to calculate; you can teach even a middle-schooler how to calculate a derivative. But since the process doesn't involve numbers or iteration, a digital computer can't do it at all. (Analog computers actually can, but for a number of reasons they're usually wildly impractical to use.) Which is a problem, because there are all sorts of places where you need to use derivative/integrals, as well as various other things with analytical solutions.

The Newton method is an iterative, numerical method (an algorithm, in other words) that is likely to give you an approximation of the right result. Since it's iterative, and uses numbers, it's easy to write a program that utilizes it. However, since the result you get is really just an approximation, you can't depend on it the same way you can depend on an analytical solution. Depending on the situation, there are often limitations on how you can use it, and sometimes you can't use it at all. (Though in the latter case, it means your problem was really gnarly to begin with, and chances are you'll already have someone like me, who knows how to use various alternate methods, already working on it.)

Date: 2010-01-30 03:40 am (UTC)
vlion: cut of the flammarion woodcut, colored (Default)
From: [personal profile] vlion
Just to throw a niggle in your spiel, computers can do symbolic computation, with sufficient gruntwork.

Maxima is an opensource package that does symbolic computation.

Date: 2010-01-30 03:50 am (UTC)
jetamors: Yoruichi is really hot (Default)
From: [personal profile] jetamors
They aren't numerical (and thanks for the correction!) but symbolic computation still uses algorithms, which was my main point.

Date: 2010-01-30 04:35 am (UTC)
vlion: cut of the flammarion woodcut, colored (Default)
From: [personal profile] vlion
Well, yes. Algorithmic, but symbol processing is a superset of the set of numeric and symbolic processing.

/nit

Date: 2010-01-31 01:47 am (UTC)
jetamors: Yoruichi is really hot (Default)
From: [personal profile] jetamors
Yeah, if you ignore the theory it's easy to implement. My guess is that it'll be presented more or less as "this is a magic black box that gives us derivatives", but I guess we'll see. (There may also be some particular applications to programming that I don't know; it's an algorithm you can use for a lot of different things.)

Profile

Introduction to Computer Science

July 2010

S M T W T F S
    123
45678910
11121314151617
18192021222324
2526272829 3031

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 12th, 2025 06:09 am
Powered by Dreamwidth Studios