Solving problems is the essence of scientific computing. Many problems arise naturally from the sciences or mathematics and often to solve difficult problem relies on some computing resources. In a nutshell, this text is the blend of science, mathematics and computer science needed to solve problems. The intended audience for this text one who is interested in writing computer code that will solve a problem that you have.
Introduction to Scientific Computing
So you picked up (or probably actually clicked on) this text and maybe you wonder what Scientific Computing actually is. This will give a brief overview of the field and try to explain with some actual examples. In short, scientific computing is a field of study that solves problems from the sciences and mathematics that are generally too difficulty to solve using standard techniques and need to resort to writing some computer code to get an answer.
Examples of Scientific Computing
The classic example of scientific computing is that of weather prediction. Atmospheric scientists and meteorologists use weather models (mathematical equations) that are run on fairly powerful computers. The results are generally a large amount of data (temperature, pressure, humidity, etc.) that often is plotted for various regions of the U.S. or other countries. The resulting data gives the standard forecasts that many of us look at on smart phone apps or on TV or other places.
Data analysis is also ubiquitous and one can think about this falling in the realm of scientific computing. Although this varies, an autonomous vehicle can generate 25 Gb of data per day.. Although there is plenty of scientific computing without the data generation in self-driving cars, this is an example of needing to handle and analyze large amount of data quite quickly.
This year, disease modeling came into focus with the COVID-19 pandemic. Plenty of research posted updates on predicted cases and deaths in the U.S. and throughout the world. Most of these model involve using existing data to fit mathematical functions and then use the resulting functions to predict the future. In addition, due to the diversity of conditions in different regions of the country and world, many localized models are developed at once with some predicted interaction as people travel from region to region.
Modeling
In nearly every example of scientific computing, a mathematical model is used. In short, a model is an equation, set of equations or some algorithm that is assumed as a mathematical understanding of the underlying problem. Mathematical models range vastly from field to field and generally the details are only taught in the individual fields, so we’re not covering too much about models in this course, but here’s a few examples.
- In weather prediction, if the underlying physics is assumed, there is a large set of partial differential equations called the Navier- Stokes equations. Some approximation of these is used often with some statistical modeling for weather models.
- In the autonomous car example above, modeling of the car dynamics often consists of the physics of moving objects which link position, velocity, acceleration and force. There is also a lot of artificial intelligence (AI) for object detection.
- In the contagious disease models, there is usually some please of differential equations (the SIR model is a simple version) and some probability modelling. We will discuss both of these in this text.