Questions tagged [libraries]
A collection of related programming functions implementing a set of abstract data types, mathematical functions, or other higher level analysis algorithms so that they may be used, and reused, by other programs.
122 questions
58
votes
17
answers
4k
views
Is it common not to use libraries for standard numerical algorithms, and why?
A lot of numerical algorithms (integration, differentiation, interpolation, special functions, etc.) are available in scientific computation libraries like GSL. But I often see code with "hand-rolled" ...
36
votes
2
answers
8k
views
Mathematical Libraries for OpenCL?
I am looking for information from anyone that has tried to use OpenCL in their scientific code. Has anyone tried (recently) ViennaCL? If so, how does it compare to cusp?
What about OCLTools? Does it ...
33
votes
5
answers
16k
views
Performance differences between ATLAS and MKL?
ATLAS is a free BLAS/LAPACK replacement that tunes itself to the machine when compiled. MKL is the commercial library shipped by Intel. Are these two libraries comparable when it comes to performance, ...
29
votes
10
answers
23k
views
Fast, lightweight C++ tensor library for dimension-agnostic code
I am looking for a C++ tensor library that supports dimension-agnostic code. Specifically, I need to perform operations along each dimension (up to 3), e.g. calculating a weighted sum. The dimensions ...
25
votes
8
answers
5k
views
Is it possible for user written algorithms to outperform libraries' built-in optimized functions?
I've always had this question in mind (even if it may sound vague), but in my numerical analysis courses we've always learned how to analyze and optimize code. However, since most linear algebra ...
25
votes
2
answers
12k
views
Libraries for solving sparse linear systems
There are a number of different libraries out there that solve a sparse linear system of equations, however I'm finding it difficult to figure out what the differences are.
As far as I can tell there ...
19
votes
4
answers
5k
views
Is there a general-purpose library for structured grid adaptive mesh refinement?
Adaptive mesh refinement (AMR) is a common technique for dealing with the problem of widely varying spatial scales in the numerical solution of PDEs. What general-purpose libraries exist for AMR on ...
17
votes
2
answers
1k
views
Which libraries have good high-level support for multigrid?
I'm planning to use multigrid to calulate some eigenvalues and vectors, and I noticed PETSc has high-level support for multigrid. The PETSc documentation says that this part of PETSc should not be ...
15
votes
1
answer
776
views
Are there any open source inverse-based multilevel ILU implementations?
I am very impressed with the serial performance of multilevel inverse-based ILU preconditioners, particularly for heterogeneous Helmholtz, but I am surprised to not be able to find any open source ...
14
votes
4
answers
5k
views
Looking for Runge-Kutta 8th order in C/C++
I would like to use Runge-Kutta 8th order method (89) in a celestial mechanics / astrodynamics application, written in C++, using a Windows machine. Therefore I wonder if anyone knows a good library / ...
14
votes
3
answers
43k
views
How to properly calculate CPU and GPU FLOPS performance?
Problem
I'm trying to calculate CPU / GPU FLOPS performance but I'm not sure if I'm doing it correctly.
Let's say we have:
A Kaby Lake CPU (clock: 2.8 GHz, cores: 4, threads: 8)
A Pascal GPU (clock: ...
13
votes
5
answers
2k
views
C++ or Python for a development of CFD library
What would you say would be the advantages/disadvantages of two approaches to coding a general (finite volume, fem, dg) library for Computational Continuum Mechanics? This is how I see things right ...
12
votes
3
answers
1k
views
Efficient tridiagonal matrix algorithm implementation
I am solving a physical problem using implicit numerical scheme. This leads me to solving a linear equation with tridiagonal matrix. I've coded this algorithm from Wikipedia. I wonder if there is an ...
12
votes
1
answer
874
views
Replacing Mathematica's QuasiMonteCarlo integration in C++
I have a Mathematica program which performs some integrals in 3 or 4 dimensions using the QuasiMonteCarlo method. The problem is, it takes an annoyingly long time ...
11
votes
3
answers
7k
views
I am looking for a parallel dynamic graph library in C++
Hello scicomp community,
I have worked in the area of graph algorithms using frameworks such as NetworkX (Python), JUNG and YFiles (Java). I am now entering the area of parallel and high perfomance ...
11
votes
1
answer
2k
views
Library for Fourier transform on triangle lattice
I am looking for reasonably fast implementations of the discrete Fourier transform (DFT) on a 2D triangular or hexagonal lattice.
I would appreciate pointers to such implementations (especially ones ...
11
votes
0
answers
355
views
Numerical integration using interval arithmetic, nowadays
Is there now a package for rigorous numerical integration that uses interval arithmetic and has access to a well-developed library of special functions?
By "well-developed", I mean something that, at ...
10
votes
2
answers
466
views
Task-based shared-memory parallel libraries in Scientific Computing
In recent years, several libraries/software projects have appeared that offer some form or another of general-purpose data-driven shared-memory parallelism.
The main idea is that instead of writing ...
10
votes
1
answer
262
views
Quadrature rules, methodologies, and references
There is at least one quite comprehensive encyclopaedia of quadrature rules that doesn't seem to have been updated in quite a while and has restricted access. This source refers to several classical ...
9
votes
3
answers
507
views
Arbitrary Precision Optimization Libraries?
Are there any well-known optimization libraries (ideally with Python bindings or even in Python) supporting (unconstrained) minimization (of $f:\mathbb{R}^n \to \mathbb{R}$ for $n$ for $n\sim 10^1,10^...
9
votes
2
answers
2k
views
Solving Lx = b for big sparse Laplacian matrices
What algorithm is more practically suited in terms of performance for solving the $\mathbf{Lx=b}$ equation, where $\mathbf{L}$ is a generic Laplacian matrix (associated to a strongly connected graph, ...
9
votes
3
answers
2k
views
Recommendations for a lightweight/no-install C or C++ based dense linear algebra solver
Most of my programming is one-off research codes in C for my own use. I have never distributed any code to other than close collaborators. I have developed an algorithm that I am publishing in a ...
9
votes
2
answers
955
views
Which Sparse Matrix Solver Libraries can I run on Android?
The title says most of it.
I'm looking for a lightweight and easy-to-use library that I can use for Android (NDK) projects.
For dense stuff I like using Eigen but I haven't found many comprehensive (...
9
votes
1
answer
2k
views
What are the strategies for local Adaptive Mesh Refinement (local AMR) on unstructured meshes?
I am interested in local AMR on unstructured meshes. Currently, I'm working with the OpenFOAM library - it supports completely unstructured local AMR:
cell refinement criteria determine a list of ...
8
votes
4
answers
535
views
Hosting site for a small scientific library
For my research work I have been developing a small C++ library aimed at facilitating the communication between C++ computational codes and Octave/Matlab (when the latter is used for post-processing ...
8
votes
1
answer
851
views
C++ library for graphs with maximum common subgraph solver
I'm looking for a convenient, free C++ library for graphs that include a solver for the maximum common subgraph (MCS) problem.
I'm aware of the
Boost Graph Library
and
LEMON
, but neither includes an ...
8
votes
2
answers
1k
views
Library with polylogarithm function [duplicate]
I am looking for a reliable library where I can find polylogarithm function and newton/secant method for solving non-linear equations. Basically I have something like this:
...
8
votes
0
answers
5k
views
Good C++ optimization library for BFGS
To implement maximum likelihood estimators, I am looking for a good C++ optimization library that plays nicely with Eigen's matrix objects. Eigen has some capability of interfacing of its own but if ...
7
votes
2
answers
703
views
Recommendations for a usable, fast GPL-compatible derivative-free numerical optimization library that can be interfaced to C++
I am dealing with optimization of functions for which I do not have derivatives available, and the optimization is not constrained. I am searching for a high quality GNU Public License-compatible ...
7
votes
2
answers
2k
views
Finite element library in fortran
I want to create a finite element code in fortran. There are many libraries out there on internet. Can someone suggest me a good finite element library in fortran?
I am looking for
Ease of use (...
6
votes
3
answers
1k
views
How to quickly implement and test a turbulence model?
What is the best software for quickly implement and test a Reynolds Averaged Navier-Stokes turbulence model ?
6
votes
2
answers
2k
views
Which libraries have good implementations of Basis splines?
I'm looking to use the finite element method with B-splines as my function basis. Which C/C++ libraries have good B-spline support?
Specifically, I'm looking for an implementation of a stable ...
6
votes
1
answer
235
views
Does the IEEE-754 standard mandate that exp2 is rounded correctly?
The IEEE Standard for Floating-Point
Arithmetic section "9.2 Recommended correctly rounded functions" lists functions that are recommended (but not required) by a language standard to provide, among ...
5
votes
2
answers
659
views
Getting to know about various BLAS implementations
I keep coming across phrases like "highly optimized BLAS kernels" with "architecture-specific optimizations", but have never been able to find what exactly these optimizations are, ...
5
votes
6
answers
1k
views
Open source auto-differentiation for MATLAB?
Are there any open-source auto-differentiation libraries for MATLAB?
I am aware of commercial packages such as Tomlab/MAD and plenty of C++ libraries, but I can't find many more for MATLAB other than ...
5
votes
4
answers
1k
views
Measurement error library
Is there a python library that would keep track of uncertainty in measured data? i.e. if I put in a figure of a±b is there an easy way to track the propagation of error through calculations.
5
votes
3
answers
218
views
Where do I find data to start a graph data structure to practice on?
I am interested in learning firsthand about graph data structures but have no data to put into the database. Can anyone recommend a source for a beginner to find graph data? (Preferably a source that ...
5
votes
2
answers
2k
views
Solver suggestion for many small quadratic problems in C++
I have a C++ program/model that in some parts already use IPOPT (with ADOL-C and ColPack) to solve some pretty large nonlinear problems.
Now in another part of the program, I need to solve a large ...
5
votes
1
answer
401
views
Finding closed equipotential surfaces on a 3D grid
In short, I'm looking for either:
(1) Publications or other sources dealing with contour/isosurface finding algorithms, so that I can write my own implementation (and parallelize as best I can), or
(...
5
votes
1
answer
354
views
Integrating/Implementing NURBS-related calculations
Recently, I started to develop some codes that use NURBS (general things I intend to use/already using: spline generation, interpolation, grids, isolines, closest-point find, and many others), both ...
5
votes
1
answer
134
views
Use Butterworth and Chebychev filters
I need to calculate frequency response, phase response and apply to signals the Butterworth, Chebychev1 and Chebychev2 band-pass filters.
I'm developing in C++ with Qt, and I'm looking for algorithms ...
5
votes
0
answers
117
views
Efficient way to find eigenvalues of complex symmetric matrix with real off-diagonal elements
My goal is to find all eigenvalues (and eigenvectors) in a given range of magnitudes of a complex symmetric matrix with real off-diagonal elements (only diagonal elements are complex). Currently I'm ...
4
votes
5
answers
888
views
FEM library with support of simplex elements
My question can be rephrased as "FEM library like deal.II but for simplex elements".
Our scientific group works with very complicated 3D geometries, so usually we prefer tetrahedral meshes for our ...
4
votes
3
answers
507
views
Literature material discussing generic frameworks to solve PDEs
I am trying to gather literature material to study how people propose to implement generic frameworks to solve partial differential equations in C++.
Despite my effort to search the web, the only ...
4
votes
2
answers
129
views
Installing only a portion of PETSc
I want to incorporate matrix solver into my program. Is it possible to separate out any library of matrix solver from PETSc? I am working in C language. It will be very helpful if I get any library ...
4
votes
2
answers
127
views
Local versus remote development
I know there are similar questions asked on other StackExchange sites, but I think development in Computational Science may work differently because of the computing environments that are common. I ...
4
votes
3
answers
3k
views
Impact of frequent row major / column major conversions using LAPACK/BLAS?
If you call a library like LAPACK or BLAS (which are written in FORTRAN and use column major order) from a C-like language that uses row major order, won't you lose performance and use a lot of memory ...
4
votes
2
answers
4k
views
Developing finite volume (FVM) code in C . General advice
I need to develop a FVM code in C (The multiscale FVM method for heterogeneous media). I know that:
Only uniform rectangular grids will be considered (2d now, later 3d)
Sparse systems will be large
...
4
votes
1
answer
186
views
Using GSL for basic operations
I am learning C/C++ for Scientific Computing and I have a question regarding the usage of scientific libraries for basic operations.
Suppose I have to write a small program in C for a bioinformatics ...
4
votes
2
answers
1k
views
Outputting a distributed vector in PETSc
I'm working with someone else's code that uses PETSc 3.0.0-p9.
They have a vector at the end of the computation that is distributed among a number of different processors, and I want to output that ...