14
$\begingroup$

I am considering taking a course in linear algebra and wanted to get a survey to see how important it is. My goal is not just to understand how to push the buttons in some software (e.g. GW Vistas, Aquiferwin32), but to really understand how groundwater modeling works.

$\endgroup$
  • 11
    $\begingroup$ If you are writing numerical models, any sort, where there are no analytical solutions, then understanding linear algebra is paramount: how else would you solve the equations for each node on your grid? $\endgroup$ – Neo Jan 21 '15 at 4:23
  • 5
    $\begingroup$ @Neo, why don't you post your comment as an answer? I think it addresses the main point of the question. $\endgroup$ – arkaia Jan 21 '15 at 14:23
  • 1
    $\begingroup$ As a tangentially related piece of advice, I would also take a class in computer programming, specifically Python, if you can. New tools like FloPy (code.google.com/p/flopy) can be used to build and run GW models - using a script makes your process repeatable and well documented, plus changes to your model dimensions or parameter fields can be more easily implemented. $\endgroup$ – Jason Jan 22 '15 at 19:59
  • 1
    $\begingroup$ "The Book of Nature is written in the language of mathematics." $\endgroup$ – Tactopoda Mar 13 '15 at 22:59
18
$\begingroup$

Relatively important, depending on the basic principles of the modeling you are interested in, and to what extent you want to get yourself involved in it.

In many areas of computational geophysics, e.g. atmospheric, oceanic, hydrological modeling etc., there are modelers, modelers, and modelers. First group of modelers get model output from somebody else, do some analysis, make some plots, and write about what they found. Then, there are modelers who design their own experiments, play with tunable parameters, maybe even change a few lines in the code and run the model. Finally, there are modelers - these spend most of their time on building and improving models, both in terms of numerical methods and software design. They could go for few years without publishing a single paper, but boy did they work hard.

If you are interested in computational science aspects of modeling, i.e. the inner workings of the model and how to improve it, understanding linear algebra as well as numerical methods will prove to be very valuable. While it is likely that you will never end up having to implement that matrix inversion or sparse matrix multiply yourself, and instead use one of many well documented production libraries, it is important to understand how they do it and why they do it in a particular way. From my own experience, I can say that most of the time it won't matter, but sooner or later there comes a situation where having knowledge about how low-level operations work will save you from pulling your hair out for weeks.

And this does not go only for linear algebra - I would extend this advice and urge you to strive at also understanding differential equations, discretization, computer architecture, floating-point arithmetic.

$\endgroup$
  • 2
    $\begingroup$ Thanks. Based on your comment, the third category of modelers is one that really interests me, but since I don't have a formal background in computer science or math (I have MS in geology-highest math taken was business calculus...yea) it will take a while before I am skilled enough to do work in the third category, as I would basically have to become a software engineer. I'll focus on trying to find work within the first two categories of modelers, while continuing to educate myself (with a second masters not out of the question). $\endgroup$ – Anthony Jan 22 '15 at 19:19
  • 2
    $\begingroup$ These things are not as black and white. You can certainly develop models without formal background in any of the areas I mentioned. However, most of the time, getting a model development position requires prior experience with actual model development, at least so is true for meteorology or oceanography, and I doubt it is different for hydrology. If model development is something you are really after, pursuing a Ph.D. in a related discipline may be the best way to go, as it provides you with both formal education and experience. $\endgroup$ – milancurcic Jan 23 '15 at 13:54
  • 4
    $\begingroup$ An extension of this excellent answer: I think you will want to go as far as PDEs and numerical solutions to understand some of the intrinsic weaknesses of models: equations that don't have closed-form solutions, and ways that approximating the solutions with computerized numerical approaches fail. $\endgroup$ – cphlewis Apr 8 '15 at 17:34
-4
$\begingroup$

These days, not so much.

Even people who write their own sophisticated mesh based groundwater modeling codes usually make extensive use of sparse/dense numerical libraries/solvers that are written by linear algebra experts (e.g., UMFPACK/MUMPS/PETSc etc.). The author of these libraries really know their stuff.

So if you are writing your own groundwater modeling code you simply call the above libraries to solve your equations.

Off course 20 years ago when there were no such libraries people had no choice. That is why codes written in 80s and early 90s typically have their own (often poor performing) solver.

Edit: If you're just using a code then don't bother with linear algebra at all. The only thing you need to know is that for large problems you need to use an 'iterative' solver.

$\endgroup$
  • 8
    $\begingroup$ However, the OP stated My goal is not just to understand how to push the buttons in some software and especially but to really understand how groundwater modeling works. $\endgroup$ – user889 Jan 21 '15 at 22:11
  • 1
    $\begingroup$ I think everyone should take as much math as they can stomach but I come down in the middle on this one. If you want to know how models work, you need to understand the equations but that doesn't mean you need to understand how the solvers work - just the strengths and weaknesses (although it can't hurt to understand more). $\endgroup$ – haresfur Jan 21 '15 at 23:13
  • $\begingroup$ @SabreTooth In that case the OP first needs to study numerical methods for solving PDEs (e.g., using finite difference/volume/element methods etc.). $\endgroup$ – stali Jan 21 '15 at 23:27
  • 1
    $\begingroup$ @stali Then why not say that instead? $\endgroup$ – Isopycnal Oscillation Jan 22 '15 at 3:59
  • 1
    $\begingroup$ My primary motive for asking this question is there are two good linear algebra massive open online courses starting in early february. They are introductory courses, and based on the responses here and another forum I'e decided it would be worth the effort, especially considering I am very interested in earth science computing and want to make that my career within two years. I can study single variable calculus concurrently with the linear algebra course. $\endgroup$ – Anthony Jan 22 '15 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.