Aron Ahmadia
  • Member for 10 years
  • Last seen more than 3 years ago
3 answers
36 votes
129k views
What is the simplest way to do a user-local install of a python package?
Accepted answer
55 votes

Python (as of 2.6 and 3.0) now searches in the ~/.local directory for local installs, which do not require administrative privileges to install, so you just need to point your installer to that ...

View answer
19 answers
92 votes
115k views
Is there a high quality nonlinear programming solver for Python?
Accepted answer
35 votes

fmincon(), as you mentioned, employs several strategies that are well-known in nonlinear optimization that attempt to find a local minimum without much regard for whether the global optimum has been ...

View answer
2 answers
20 votes
13k views
What is pseudo time-stepping?
Accepted answer
20 votes

Pseudo time-stepping, probably better known as pseudo-transient continuation, is the technique of solving for the steady-state solution of time-evolving partial differential equations by setting an ...

View answer
5 answers
19 votes
3k views
Parallel Scientific Computation Software Development Language?
Accepted answer
19 votes

Let me try and break down your requirements: Maintainability Reading/writing text data Strong interfaces/capability for LU factorizations Sparse linear solvers Performance and scalability to large ...

View answer
1 answers
9 votes
2k views
What does Static, Dynamic and Single Dynamic linking mean?
Accepted answer
15 votes

The terms static linking and dynamic linking are not directly related to parallel computing, though it has been known for quite some time that dynamic loading (as opposed to loading a statically-...

View answer
18 answers
43 votes
3k views
Where can one obtain good data sets/test problems for testing algorithms/routines?
15 votes

If you are interested in conducting an analysis on sparse matrices, I would also consider Davis's University of Florida Sparse Matrix Collection and the Matrix Market.

View answer
3 answers
10 votes
6k views
MATLAB matrix multiplication (the best computational approach)
14 votes

Since the matrices are so small, all of the cost is going to be in call overhead. If you will do the transformation many times, it will be faster to precompute D=A*B*C once and then for each vector ...

View answer
3 answers
25 votes
16k views
Recommendation for Finite Difference Method in Scientific Python
Accepted answer
13 votes

Here is a 97-line example of solving a simple multivariate PDE using finite difference methods, contributed by Prof. David Ketcheson, from the py4sci repository I maintain. For more complicated ...

View answer
3 answers
11 votes
7k views
I am looking for a parallel dynamic graph library in C++
11 votes

Boost Graph Library and LEMON As Daniel mentions in his comprehensive answer, the most full-featured general C++ library is the Boost Graph Library. There is a new distributed-memory extension ...

View answer
9 answers
29 votes
2k views
What is a good way to run parameter studies in C++
11 votes

If you want to write something general-purpose, you can do it either with shell scripts if it is something very simple, as Pedro suggests, or aggregate in a higher-level mathematical programming ...

View answer
2 answers
11 votes
2k views
Efficiency of using petsc4py vs. c/c++/fortran
Accepted answer
11 votes

This is a widely-held concern in the scientific programming community, and I would consider the performance uncertainty to be one of the major "myths" in computational science. As @fcruz discusses, ...

View answer
1 answers
8 votes
20k views
scipy.optimize.fmin_bfgs: "Desired error not necessarily achieved due to precision loss"
Accepted answer
10 votes

It is helpful in situations like this to take a look at the source code. This is easy because everything in scipy is open source! As you can see from reading the source code, the warning message is ...

View answer
3 answers
10 votes
514 views
Priorities for learning computational methods, when should I write my own code vs. using libraries as a beginning graduate student?
10 votes

I'd like to give some more breadth to Geoff's thoughtful answer. In particular, I want to give you a little more perspective on the value of your programming efforts as opposed to your research ...

View answer
3 answers
3 votes
478 views
What are the current obstacles to reaching exascale computing?
Accepted answer
10 votes

We reached the petascale through an extreme effort in concurrency. While the computational capability of modern processing cores has increased by roughly an order of magnitude in the last ten years (...

View answer
5 answers
18 votes
762 views
20% performance penalty for a nice software design
Accepted answer
9 votes

Very few scientific software developers understand good principles of design, so I apologize if this answer is a bit long-winded. From a software engineering perspective, the goal of the scientific ...

View answer
3 answers
13 votes
2k views
Are HDF5 files suitable for git revision control?
9 votes

You're going to get a much better answer if you provide a few more technical details about what kind of data you're trying to put under version control, how you want to store different versions of the ...

View answer
3 answers
13 votes
1k views
Blaze linear algebra library?
9 votes

Original answer (May 2012) As far as I am concerned, the Blaze library has not been publicly released. A link to the software as well as the license for its use should have both been in the paper. ...

View answer
4 answers
8 votes
10k views
Is there an in practice limit on the number of constraints on a linear programming problem?
Accepted answer
9 votes

$10^{13}$ is beyond tractable on today's largest supercomputers due mostly to memory limits. The largest problems I've seen practically solved have had on the order of $10^5$ rows and columns, but ...

View answer
4 answers
8 votes
555 views
Prolonging PBS job
Accepted answer
9 votes

This is system-specific, but you are looking for the qalter command.

View answer
18 answers
43 votes
3k views
Where can one obtain good data sets/test problems for testing algorithms/routines?
9 votes

For testing graph partitioning algorithms, there is Walshaw's Graph Partitioning Archive.

View answer
2 answers
6 votes
422 views
Introduction to computational science?
8 votes

Kate, you asked for a reference request as a high school student interested in getting started in computational science, which I think I can tackle fairly specifically. As long as you are comfortable ...

View answer
2 answers
8 votes
402 views
How do Volkov and Demmel experimentally determine the latencies, line sizes, and page sizes of a GPU?
Accepted answer
8 votes

If this actually works, and it seems to, that'd be awesome because we can get a lot of undocumented data about the cache of a GPU. A frustrating aspect of high performance computing research is ...

View answer
2 answers
8 votes
2k views
Large array in GMP
Accepted answer
6 votes

tpg2114's comment is spot on. Try: /* at top */ #include <stdlib.h> /* definition */ mpz_t *A; /* initialization of A */ A = (mpz_t *) malloc(100000 * sizeof(mpz_t)); if (NULL == A) { ...

View answer
2 answers
6 votes
6k views
Recommendations for a usable, fast Java matrix library?
Accepted answer
6 votes

In general, you are almost always better off using the JNI if you are concerned about performance. A JNI interface to a fast BLAS is implemented by the Intel Math Kernel Library, which would be ...

View answer
1 answers
2 votes
403 views
In Octave, how do I specify that the solution to a matrix equation should be over integers?
6 votes

If $A$ is full-rank, there is only one solution to $Ax=b$, and it is either integer or not. If $A$ is not full-rank, this problem starts to look like a search for least common multiples in the null ...

View answer
1 answers
11 votes
467 views
How to establish that an iterative method for large linear systems is convergent in practice?
Accepted answer
6 votes

For many partial differential equations arising in nature, particularly with strong nonlinearities or anisotropies, the choice of an appropriate preconditioner can have a large effect on whether the ...

View answer
1 answers
6 votes
4k views
Threaded OpenBlas benchmark slower than system blas?
Accepted answer
5 votes

OpenBLAS is designed as a library to perform effectively for the most common computationally challenging problems that arise in scientific computing, linear algebra problems that take minutes or ...

View answer
3 answers
9 votes
1k views
Recommendations for a lightweight/no-install C or C++ based dense linear algebra solver
5 votes

A very early mistake that many people make when getting started in scientific computing is assuming that you need to write all of your code in the same language. I think this is due largely to ...

View answer
2 answers
9 votes
899 views
Initially Bracketing Minimum for Line Search
5 votes

In my experience establishing the bracket is very often application-dependent. If you had real constraints or an algebraic derivation for your bracket, you'd use it of course! Usually there's an ...

View answer
2 answers
4 votes
3k views
How to parallelize the computation of eigenvalues of a sparse symmetric matrix in MATLAB?
5 votes

MathWorks doesn't think this is a good idea. Their basic defense for not multithreading eigs is that the MATLAB sparse matrix-vector products will not significantly benefit from multithreading. I ...

View answer