11

I haven't worked in quantum chemistry specifically, but I've worked in other areas where high performance is a correctness requirement (along with scientific accuracy), so I think we're on the same page here. Broad but shallow knowledge of all of the above is absolutely necessary for the team as a whole. Deep knowledge can be acquired as needed, or hired as ...


6

If you're interested in the process of developing scientific software for the simulation of continua based on the finite element method, you might be interested in the deal.II library (https://www.dealii.org/) and its extensive suite of tutorial programs that walk you step-by-step through how these simulators are developed (https://dealii.org/developer/...


4

It is very much problem dependent. The issue with going from Monte Carlo to Simulated Annealing to Very Fast Simulated Annealing is that one increases the number of tuning parameters that the method has and that are all dependent on the specific problem. The only thing you know for sure is that your temperature schedule must allow for step lengths whose sum ...


4

You may take a look at Peter Gottschling's Discovering Modern C++, especially chapter 7, where Mario Mulansky (one of the authors of odeint) implements a generic ODE Solver (using Runge-Kutta algorithms and C++11/14). To the best of my knowledge, the second version of the book will be published within the next months and covers C++17 and C++20. Another ...


4

LAPACK doesn't have a specialized routine for computing the eigenvalues of a unitary matrix, so you'd have to use a general-purpose eigenvalue routine for complex non-hermitian matrices. This is slower than using a routine for the eigenvalues of a complex hermitian matrix, although I'm surprised that you're seeing a factor of 20 difference in run times. ...


4

LAPACK has an implementation of the svd of a 2x2 triangular matrix. It appears to be very robust. The routine is XLASV2. To apply to a regular 2x2 matrix, you can simply apply a single givens rotation from the left/right.


3

In the 1-dimensional case, there are three main methods which are similar to what you are describing which come to my mind. The secant method uses the derivative approximation $$f'(x_n)\approx\frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}}$$ to compute the next iteration. As André Nicolas points out, the secant method is quite desirable for its fast convergence and ...


3

I want to support the response from @Pseudonym, who makes the point that not everyone in the team needs to contribute to every aspect of the project. Something related to consider is that you are presently at the beginning of your career, and will be making whatever contribution you are capable of. But perhaps you will still be working in the same general ...


3

One such case is if the sparse matrix is banded. For example, tridiagonal linear systems can be solved in linear time using Thomas' algorithm. For small bandwidths, you can find an algorithm of linear time cost. Note that as the bandwidth grows, the hidden coefficient grows too. The literature on the topic is active and there are many characterizations as ...


2

I don't know of a single book that one would like to have as a unique reference in the topic. Although, I think that the following reference is good enough: Morton, K. W., & Mayers, D. F. (2005). Numerical solution of partial differential equations: an introduction. Cambridge university press. Following there is a (non-exhaustive) list for different ...


2

Ideally in your education you learn various subjects out of curiosity and in order to discover, if you're lucky, those you really like. And then you study those primarily because you like them. One or two of them may continue to intrigue and stimulate, and you end up knowing them inadvertently to a very great detail. Studying what you think is needed for ...


2

The cause of the numerical glitch has probably something to do with poor convergence of some series involved in the conformal map calculation for a particular location. However, here is how to use one good solution for this problem, for a particular geometry, to produce any other one. Suppose we have a good solution $\phi_0(x,y)$ corresponding to $U_1$=0 and ...


1

This is too long for a comment, so I'll post an answer. If you start from the analytical 2D-Laplace operator, it naturally is already in a (sum of) tensor product form: $$ \Delta = \partial^2_x \otimes I + I \otimes \partial^2_y\,. $$ By looking at the operator, it seems obvious how to discretize it, namely by using some one-dimensional finite difference ...


1

After all, a scientific computing project is a code development project, in which the domain expertise comes from, well, scientific computing. You'll need: Beforehand, some sort of requirements analysis. What are the goals, how many people will contribute, are there any deadlines, etc. Some kind of project management : how will you develop, e.g. in a ...


1

Bit-twiddling is sometimes used as part of the numerical algorithms that are apropos for this site (e.g., hardware implementations of the Fast Fourier Transform, simulation of quantum computers, etc.). Some resources that come to mind: D. E. Knuth, The art of computer programming. Vol. 4A. Combinatorial algorithms. H. Warren, Hacker's delight. https://web....


1

None of the typical ODE integrators ever need more than first derivatives of $f$. In fact, all explicit methods, including Runge-Kutta methods, only require knowledge of $f$ itself. Implicit methods require you to solve a nonlinear system in which $f$ appears, and that is done using (variations of) Newton's method which will only ever require first ...


1

There are many ways to solve systems with sparse matrices, so there is no way to answer this definitively and exhaust all possibilities. I'll add Krylov methods as one answer though. Many Krylov methods achieve fast results under the right conditions. The conditions for Krylov methods to perform well have been asked here before. Every Krylov solver is a ...


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