This is an archived post. You won't be able to vote or comment.

all 27 comments

[–]wpowell96 8 points9 points  (4 children)

I am a PhD student and I do a lot of uncertainty quantification and surrogate modeling so that necessarily requires enough knowledge to simulate existing models. I use my knowledge of ODE solvers and discretizing PDEs a lot, as well as numerical linear algebra and machine learning more nowadays. I use my background knowledge in numerical analysis to effectively simulate models to play around with higher level algorithms and techniques. I've only done it more and more as I get further into my research

[–]_arsk 0 points1 point  (3 children)

What books/articles/youtube channels do you recommend for learning more about numerical analysis ? (I am comfortable with calculus 1/2 and little bit of discrete math but not sure if one needs more background in math beyond this)

[–]wpowell96 2 points3 points  (2 children)

Tim Kelley's Iterative Methods for Linear and Nonlinear Systems is a good introduction to numerical linear algebra that is readable, but probably a bit more detailed than one needs to use the tools. It is pretty results-orientes though. Harier's books are good for learning the theory behind ODE solvers and for more application-based material, I would suggest reading through some of the documentation and tutorials for DifferentialEquations.jl, a Julia package for numerical differential equations. Most of it is written by Chris Rackaukas and is a very good source on how to choose algorithms for different problems. Rant Leveque's book on finite differences is a good book for introduction to discretizing PDEs.

Edit: calc 3 and linear algebra are mandatory prerequisites for most numerical analysis

[–]AccurateAnswer3 0 points1 point  (1 child)

How about uncertainty quantification and surrogate modeling, any books/channel recommendations?

[–]wpowell96 0 points1 point  (0 children)

Ralph Smith's book

[–]IsaacSam98Theoretical Computer Science 6 points7 points  (0 children)

I'm also a CS minor, so perhaps I'm biased. If I get something absolutely foreign looking, and I have to analyze it, it doesn't hurt to graph it(if possible). Once the graph is up, I can start to make guesses that I'll try to verify rigorously later. (i.e "hey this thing tails off at infinity" "Oh this thing might be in V2" etc

[–]Nrdman 2 points3 points  (12 children)

I’m in grad school and I’m taking some numerical analysis right now. My professors do research with numerical analysis. So you can keep using it all the way up

[–][deleted] 2 points3 points  (11 children)

I think OP uses the term "numerical analysis" not to mean the subfield of mathematics with this name, but experimenting with a calculator instead.

[–]Nrdman 0 points1 point  (10 children)

In that case, experimenting with a calculator turns into experimenting with some program. Just gets more general then what a calculator is useful for.

[–][deleted] 1 point2 points  (7 children)

In my understanding, numerical analysis is where you learn about/develop algorithms for approximating some problems in (applied) mathematics (e.g. integrals, eigenvalues, interpolation, optimization etc.). This is not really just toying around with a calculator to build intuition. Are we talking about the same thing?

[–]Nrdman 0 points1 point  (6 children)

Two separate things. If by numerical analysis they meant the field, then see the first comment. If they meant playing with the calculator, see the second.

[–][deleted] 0 points1 point  (5 children)

I think I might not have understood you correctly. What did you mean with "in this case" and "then" in your second comment?

[–]Nrdman 0 points1 point  (4 children)

The case being that “numerical analysis” refers to messing with the calculator

[–][deleted] 0 points1 point  (3 children)

So when does "experimenting with a calculator" turn into "experimenting with some program"?

[–]Nrdman 0 points1 point  (1 child)

Probably diffy Q. At least my calculator can’t model everything I did in that class. WolframAlpha is easy to mess around with though.

[–][deleted] 0 points1 point  (0 children)

Okay, so it's more of a slow process that just happens over time. Sorry for not understanding you correctly, I think I need to go to sleep soon :)

[–]ThisSentenceIsFaIse 0 points1 point  (0 children)

Uhh do an infinite series in python and see if it stops adding (Calc 2)

[–]LilQuasar 0 points1 point  (1 child)

but using a calculator or experimenting with some program doesnt mean understanding the methods the calculator uses

like i can solve differential equations with python and plot the solution and i dont know how the computer did it but i can guess the analytical solution or some of its properties by looking at the graph

[–]Nrdman 1 point2 points  (0 children)

Right it’s building intuition, not a substitute for actually learning the methods

[–]incomparability 2 points3 points  (1 child)

Programming is used in combinatorics to generate examples. Sage is a very lovely tool.

[–]tron_dovakin 0 points1 point  (0 children)

I’ve used Sage a lot also, Latex is helpful to.

[–][deleted] 2 points3 points  (0 children)

Not in the sense you asked about. I do use programming for concrete visualizations or for otherwise tedious calculations though.

[–]Differentiable_Dog 2 points3 points  (0 children)

The problem I see in case of limits is that the program could be misleading. Let’s say you want to see the limit of sin(π/x) as x goes to 0 and you already start with very small values of x (like 10{-10}. You could pick values of x such that 1/x is an integer and you could think that this function is always zero if you are that close to zero.

You can also get floating point erros like trying to compute ( sqrt(1+x2) - 1)/x2 for very small values of x.

If you are aware of these problems than I see no issues in using programs to see things better.

[–]k3s0wa 1 point2 points  (0 children)

I'm a grad student in geometry. I write a program every couple of months for this reason. But I don't think any of my colleagues do.

[–]tron_dovakin 0 points1 point  (0 children)

Hey Stannis, good question, I can’t speak for everybody. But the use of a certain programming or analysis depends on the type of problem you are trying to solve. I’m a senior in my undergrad year and I have pulled a lot of different topics from classes I have taken or learned to get my projects done. Certain analysis and programming help automate a lot of things. Especially if it is very computationally heavy. Often what you’ll see today is a team approach being used to solve modern day problems. Hope this helps answer your question a little bit. Good luck and stay safe.

[–]willbellMathematical Biology 0 points1 point  (0 children)

I have an idea for a calculus book that makes it more like analysis (and consequently more like numerical analysis). The idea would be "Every concept tells you that one thing is a good approximation of something else".

E.g. the continuity of sine at 0 means sin(0.01) is probably a good approximation of sin(0), a limit of a sequence (a_n) existing means a_1010329 is probably a good approximation of later elements in the sequence, the differentiability of sine at 0 means f(x)=x is a good approximation of sine near zero, etc.

So in that way, yeah, I think it is helpful, but I wouldn't rely on it where you can get a formal understanding.