42

One example that appears in many areas of physics, and in particular classical mechanics and quantum physics, is the two-body problem. The two-body problem here means the task of calculating the dynamics of two interacting particles which, for example, interact by gravitational or Coulomb forces. The solution to this problem can often be found in closed form ...


33

In one and two dimensions, all roads lead to Rome, but not in three dimensions. Specifically, given a random walk (equally likely to move in any direction) on the integers in one or two dimensions, then no matter the starting point, with probability one (a.k.a. almost surely), the random walk will eventually get to a specific designated point ("Rome"). ...


28

A famous example is the boolean satisfiability problem (SAT). 2-SAT is not complicated to solve in polynomial time, but 3-SAT is NP-complete.


24

Here's one close to the hearts of the contributors at SciComp.SE: The Navier–Stokes existence and smoothness problem The three-dimensional version is of course a famous open problem and the subject of a million-dollar Clay Millenium Prize. But the two-dimensional version has already been resolved a long time ago, with an affirmative answer. Terry Tao notes ...


24

In social choice theory, designing an election scheme with two candidates is easy (majority rules), but designing an election scheme with three or more candidates necessarily involves making trade-offs between various reasonable-sounding conditions. (Arrow's impossibility theorem).


14

The link Godric pointed out under the question is exactly right. It gives a good overview of the many talents a computational scientist has to have. In general, the difference between being a Computational X (X=mathematician, civil engineer, materials scientist) and being a Theoretical X or Experimental X is that the former tackle problems with computers ...


14

I personally have come the way from Gnuplot to Matplotlib with PGFPlots as an intermediate step. I will try to name all aspects of Matplotlib that I like. It is very versatile. You are not limited to line or scatter plots, you can easily do bar plots, images (matrix visualization!), basic 3D plotting and even some animation. You can use Matplotlib as a GUI ...


14

Simultaneous diagonalization of two matrices $A_1$ and $A_2$: $$ U_1^T A_1 V = \Sigma_1,\quad U_2^TA_2V=\Sigma_2 $$ is covered by existing generalized singular value decomposition. However, when the simultaneous reduction of three matrices to a canonical form (weaker condition compared to the above) is required: $$ Q^T A_1 Z = \tilde{A_1},\quad Q^T A_2 Z = \...


11

For such a small simulation, I would strongly suggest looking into GPU-based solutions. This is probably what will get you the most ns/day/Euro. In my opinion, the fastest fully-featured GPU-based Molecular Dynamics (MD) software out there is ACEMD (see here for timings). The software, however, is commercial, but has a single-GPU free version that can be ...


10

There are plenty of examples in quantum computing, although I've been out of this for a while and so don't remember many. One major one is that bipartite entanglement (entanglement between two systems) is relatively easy whereas entanglement among three or more systems is an unsolved mess with probably a hundred papers written on the topic. The root of ...


8

Many of us in scientific computing simply have well-equipped laptops for regular software development tasks, some multicore workstations for smaller-scale testing, and access to clusters for larger runs. To give you an idea: My laptop is a Dell M3800 (4-core Intel i7, hyperthreading, 16GB of RAM). This is good enough to regularly compile my software and do ...


7

If you're willing to overcome the learning curve of Gnuplot, you can generate top-quality figures with it (as exemplified in http://www.gnuplotting.org/). In particular, I'd recommend using the epslatex terminal as it allows you to use LaTeX to render all the text in the figure (including any mathematical notation that you may wish to input). If you want ...


7

I oftem use Matlab and then save the result as an eps file via print -depsc2 -f1 fig. This saves figure 1 as an eps file named fig.eps. There is also the Plot2Svg from matlab file exchange that can save as svg. This is really nice since you can then open the files in Inkscape or other vector graphics software and edit them. If you are willing to learn new ...


6

To put it crudely, you will not be a good professional if you claim to do 'computational science' but do not know programming. To do computation, you need a tool. And computer is such a tool. Programming is the only way to teach computer how to do a thing. Therefore programming is an essential part of computational science. This is not to say that it is ...


6

You could install BOINC on those machines. When the computers become idle, the BOINC screensaver/client requests tasks from a server and computes them. See more information about it here. This is the software used by a number of projects such as SETI@Home. You can create your own project with BOINC and then put your desktop machines to work.


6

Angle bisection with straightedge and compass is simple, angle trisection is in general impossible.


5

You can use HTCondor that is designed exactly to "steal" cpu cycles from remote machines. It may be a little difficult to setup but I think this may be the best approach.


5

Your intuition is right, for example in 3D Orbitals (German Wikipedia) the caption explicitly states that 90% iso-surfaces are used. I have however seen different percentages before where the results look similar. Did you check the Mayavi Example Atomic Orbital? If you remove the phase-coloring and find the additional parameter to contour that sets the ...


5

You could either fit a logistic function (possibly composing it with a linear function), use segmented regression, or classification and regression trees, among other options. The original data, shown in the figure below, was fitted in Gnuplot using the following commands: h(x) = k * 0.5 * (1.0 - tanh(0.5 * (a * x + b))) + c * x + d fit h(x) 'plot-EV.txt' ...


5

There are specialized methods for the minimization of a differentiable function $f(X)$ subject to the orthogonality constraint $X^{T}X=I$. See for example: Lai, Rongjie, and Stanley Osher. “A Splitting Method for Orthogonality Constrained Problems.” Journal of Scientific Computing 58, no. 2 (2014): 431–449. Wen, Zaiwen, and Wotao Yin. “A Feasible Method ...


4

I'm happy to answer that there's a high-quality open source code for this: https://github.com/mcodev31/libmsym libmsym is a C library dealing with point group symmetry in molecules. It can determine, symmetrize and generate molecules of any point group. It can also generate symmetry adapted linear combinations of atomic orbitals for a subset of all point ...


4

You say you're mostly interested in geometry optimization. From a software point of view, here are a couple to get you started. USPEX, which works with crystals, isolated molecules and nanoparticles, using a genetic algorithm and linking with many DFT and empirical codes from MATLAB (e.g. VASP, CASTEP, Siesta, GULP...). The link also has good articles ...


4

I think that this question is too generic for a complete answer, as the latter would depend entirely on what you are simulating and what observables you are interested in. The only things that come to mind are Remember to use relative velocities (relative to the system's centre of mass) when computing dynamical observables (such as the mean-squared ...


4

Type inference for Rank-n types. Type inference for Rank-2 is not especially difficult, but type inference for Rank-3 or above is undecidable.


4

Here's a neat one from optimization: the Alternating Direction Method of Multipliers (ADMM) algorithm. Given an uncoupled and convex objective function of two variables (the variables themselves could be vectors) and a linear constraint coupling the two variables: $$\min f_1(x_1) + f_2(x_2) $$ $$ s.t. \; A_1 x_1 + A_2 x_2 = b $$ The Augmented Lagrangian ...


3

I am not aware of text-book versions of definition or description of computational science but here are my two-cents based on my experience: Computational science involves dealing with computational processes. One of the crucial process is programming. So, yes, it involves programming. It is a different issue wether the computational scientist is a writer ...


3

Here is a different kind of answer, but in my opinion, quite interesting. I took a look at all the users of this beta with more than 1000 reputation. I think that these people can be considered as doing computational science. For each of them, I looked at the profile and see if they have an account on StackOverflow, which can be seen as a sign of being ...


3

Even though you have so much money available to spend on computing resources, the bigger issue, as Pedro points out, is that your problem is relatively small. With roughly 100,000 atoms, your "sweet spot" on CPU's will likely be about 100 cores. If you try to use more than that, you'll end up spending a lot of time communicating information between ...


3

NWChem's built-in B3LYP is supposed to agree with Gaussian's, modulo the grid and tolerance issues noted in Thom's answer. You can prescribe any functional form for which the constituents are supported using the explicit XC interface: http://www.nwchem-sw.org/index.php/Density_Functional_Theory_for_Molecules#XC_and_DECOMP_--_Exchange-Correlation_Potentials. ...


3

I recommend reading Thom Dunning Jr. “Gaussian basis sets for use in correlated molecular calculations. I. The atoms boron through neon and hydrogen.” J. Chem. Phys. 90, 1007 (1989) by for an answer to this question. The abstract says the following: This leads to the concept of correlation consistent basis sets, i.e., sets which include all functions in ...


Only top voted, non community-wiki answers of a minimum length are eligible