Questions tagged [c++]
A powerful object oriented programming language.
292
questions
1
vote
0answers
40 views
Why does Eigen allocate a temporary to evaluate A.noalias() = B.transpose()*C in parallel?
I wrote a program which iteratively transforms data using matrix multiplications. To minimize the number of large memory allocations, I use two roughly equal-sized ...
-1
votes
0answers
29 views
Intel MKL DSS handle type
I am using Intel MKL's Direct sparse solver to solve a system of equations. Intel MKL provides a bunch of routines for this:
dss_create
dss_define_structure
dss_reorder
dss_factor_real, ...
0
votes
1answer
141 views
Perturbation problem using Runge-Kutta 4
I'm trying to evaluate the perturbations magnitude between 2 body orbiting a central one in three dimensions. In order to do this I need to have an estimate of the error, which I did using Richardson ...
1
vote
1answer
102 views
Reference request: C++ and numerical analysis book
I'm a master student with a good Numerical analysis background. I'm going to do a master thesis in the same subject, but I need to use C++ since my advisor loves it, and I also believe it's the best ...
0
votes
1answer
72 views
Need software for generating self-avoiding random walks on a tetrahedral lattice
I am looking for FOSS code that can generate self-avoiding random walk trajectories on a tetrahedral lattice. The purpose of the exercise is to create random conformations of model polymer chains that ...
0
votes
1answer
29 views
MPI_Test not progressing MPI_Isend/MPI_Irecv requests
I am running a CFD simulation with a 200,000-vertex mesh. I've decomposed the mesh into 2 load-balanced sub-domains to test my parallel implementation. In the specific function that I am time-...
0
votes
1answer
81 views
Point cloud to height map in C++
With the increased popularity of 3D imaging and scanning I thought it would be easy to transform a xyz point cloud into a Height Map (xy matrix of z points), but after a couple of hours searching I ...
1
vote
0answers
36 views
N-body correct scaling
I realized an usual way to scale an N-body problem for an N-body simulation is by choosing units such that gravitational constant $G = 1$, but I'm probably doing it the wrong way. Suppose I simply ...
3
votes
2answers
154 views
Using the BDF and RK4 methods to solve this coupled system of ODEs in C++
I'm trying to solve a system of ODEs using the BDF order 4 method. I find the first 3 points using RK4, then for the implicit part of the BDF, I use Newton-Raphson iteration. Unfortunately my solution ...
2
votes
1answer
121 views
Can one safely use an OpenMP parallel loop with Armadillo?
I have a C++ code performing some Armadillo computations in a loop. I'd like to parallelize this loop with OpenMP. But Armadillo automatically uses OpenMP for some computations. So, would the OpenMP ...
1
vote
1answer
88 views
Range of a matrix from its complete orthogonal decomposition
In this StackOverflow answer, @Gokul has shown how to get a basis of the kernel of a matrix with the help of the 'Eigen' function CompleteOrthogonalDecomposition. ...
1
vote
0answers
86 views
Optimize speed for calculating the approximate inverse of a large matrix
I am searching for a faster method to calculate an approximate inverse of a large matrix (up to 32000x32000) resulting from a discrete non-linear system of partial differential equations. I'm using C++...
3
votes
1answer
239 views
'Eigen' matrices with static dimension
I noticed that 'Eigen' matrices with dynamic dimension are less efficient than the matrices with static dimension. My algorithm uses a lot of matrices which don't need to be resized, so I wanted to ...
0
votes
0answers
66 views
Ill-conditioned stiffness matrix
I am writting a Fem code in c++ for a 2d plane stress model. My question is regarding the assembly stiffness matrix.I noticed that some elements of the matrix are not exactly zero but insted a number ...
1
vote
0answers
205 views
Which library to use in C++ for fast DCT's?
I need to apply a 1D type-II DCT (Discrete Cosine Transform) to each column of a matrix while normalizing the result in C++. Effectively, I want to multiply my matrix with an orthogonal type-II DCT-...
0
votes
0answers
43 views
2
votes
0answers
87 views
Computing Singular Value Decomposition of small ($4\times 4$) matrices
I need to compute the Singular Value Decomposition (SVD) of many $4 \times 4$ matrices. I'm looking for SVD algorithms specialized for small matrices. I've read that the ...
0
votes
0answers
45 views
Triplet optimization algorithm producing weird results?
I wrote an algorithm for data analysis using the CERN ROOT framework. It takes in three files of sorted UNIX timestamps from a single year and pairs them up in the closest triplets, where each file ...
0
votes
1answer
83 views
Extracting data from VTK simulations using C++
I have been given a few numerical simulations regarding fluid mixing and have been asked to extract a few parameters from them using C++. Altogether there are about 1000 VTK files per simulation, and ...
1
vote
1answer
194 views
Reading VTK file into C++ for analysis
I apologize in advance if this post is at all ignorant or elementary, I am a pure mathematician who is newly getting into the world of scientific computing.
For my research, my advisor would like me ...
0
votes
1answer
106 views
How to calculate error in successive over relaxation for PDE?
I am trying to solve the Poisson equation numerically using the FDM method in C++. But I have a little confusion with the iterative process. I understand that the number of iterations should go until ...
2
votes
1answer
152 views
Calculating the Strange Attractor of the Duffing Oscillator in C++
I am simultaneously trying to learn computational physics methods, chaos, and C++. I think this is the right site for the question, and I apologise if not.
I started working through Thijssen's ...
1
vote
2answers
148 views
How to begin writing scientific codes in C++ in Trilinos or PETSC style?
My background: I have taken some courses on numerical analysis during my PhD and read a few books on the topic as well. I mostly work on low Reynolds number fluid mechanics and use boundary element ...
10
votes
1answer
1k views
How to document math formulations in scientific computing codes?
I am writing the code relate to math.
There is some complicated math formulation in the project.
Directly writing the calculation code leads to hard understanding; thus I want to comment on the ...
2
votes
0answers
24 views
CUDA and implicit array expansion
I am retrying this question since I didn’t do so properly last time:
I have implement a simply c++ CUDA example that takes A [m x 1] and B [1 x N] and adds them element wise with what I am used to ...
0
votes
0answers
68 views
Calculating the exponential of a complex matrix
I am trying to calculate the exponent of a 3 x 3 matrix using the formula
$\sum_{i=0}^\infty\frac {A^n}{n!}$
I believe that my error may lay in the scalar division with a factorial or the member ...
1
vote
1answer
157 views
Finite Difference libray C++
What is the best FD library (or collection of libraries) for C++ codes?
I am looking for some data structure implementation that offers the possibility to do parallel computations on adaptively ...
3
votes
1answer
128 views
Suggestions for scientific computing projects to undertake to sharpen core skills
Currently I am completing all exercises in books like "Introduction to
Python for Science and Engineering, David Pine" and "Guid to Scientific Computing in C++, Pitt-Francis, Whitley". I am looking ...
2
votes
0answers
57 views
Whi are chi-squared distributions in (C++) boost::random and C++ STL faster than in boost::math?
I am trying to generate random chi-squared numbers in C++, according to some degree of freedom (which can be a float). Several libraries can be used for that purpose, among which the C++11 Standard ...
0
votes
3answers
114 views
How to store a TB size array in C++ on a cluster
I want to do a huge simulation that requires ~ 1 TB of data to describe a bunch of interacting particles (each has different interactions). Is it possible to store this data in an array in C++, so ...
2
votes
1answer
262 views
C++ book recommendation- Scientific computing and C++
I'm a master's student in Math interested in Numerical Analysis. I know there are lots of questions like that on this site, but I think this is the best place to ask. So, I'm looking for an ...
2
votes
3answers
383 views
Generating Random Orthogonal Matrices in C++
I'm looking for an open-source library for the generation of random n-dimensional orthogonal matrices in C++.
In python, it looks like such a function is available in the NumPy package. But I was not ...
1
vote
1answer
105 views
Is C++ and Object-Oriented Numeric Computing for Scientists and Engineers by Daoqi Yang still relevant?
I'm looking to learn C++ primarily from a scientific computation perspective. The approach of the textbook seems ideal to me as it covers C++ from first principles with an emphasis on numerical ...
15
votes
2answers
353 views
What are new c++20 features that are relevant to scientific computation?
In my research department we plan a small seminar on the new c++20 language standard. There are exhaustive lists online presenting the new features of the language standard, some of which will be of ...
1
vote
2answers
119 views
Writing code on the CPU while developing, running it on the GPU when live - which approach?
In my simulations I am using dense matrix-vector multiplications and 2D-fft transformations quite often, for matrix sizes of 8kx8k and up. Hence, I assume that using a GPU is beneficial for speeding ...
1
vote
1answer
74 views
Using adolc for the sign function in c++
Here is an implementation of the sign function in C++ using Adolc librairy for automatic differentiation.
...
3
votes
1answer
337 views
The Formula of Explicit Runge-Kutta Fourteen order
I need an explicit Runge-Kutta 14th order formula. If you know about some reference that discusses at least 10th order (or higher, since I'm looking for the 14th) of Runge-Kutta and there is ...
2
votes
1answer
209 views
How to perform an eigendecomposition of a general complex matrix with arbitrary precision in C/C++
I need to obtain the Eigenvectors of a general complex matrix, but with quadruple precision. Is anyone aware of a means to do this?
I currently use Tux Eigen, and I see that in their unsupported ...
2
votes
1answer
105 views
Gmsh meshes flat faces incorrectly for cylindrical faces
I have some C++ code that generates meshes from step files and then analyses these meshes for visibility of the faces from different viewing directions. I currently use CGAL but I would like to switch ...
3
votes
3answers
160 views
GPGPU computing, software selection
I am using an existing GCC C++ x86 Qt application that filters, displays and stores results computed by some C code. Since the computation by now got too complex for CPUs I intend to port the small C ...
9
votes
1answer
962 views
Is using std::valarray considered good practice?
C++ has had the std::valarray class since the C++98 standard. It is meant to facilitate numerical computations, providing the sort of operations one would expect of ...
1
vote
0answers
82 views
How to deal with a huge system of ODEs in Boost ODEINT?
I am using the C++ library ODEint, which is part of Boost, to solve an extremely large system of coupled ODEs - in particular 1975 equations with large rational functions in the coefficients. In the ...
3
votes
1answer
66 views
PETSc - Manipulate BAIJ matrix locally
My program loads a parallel PETSc matrix $A$ on several MPI processes, each holding a block submatrix $A_i$.
I would like to retrieve the local submatrix $A_i$, the one corresponding to the current ...
2
votes
0answers
38 views
Algorithm to join hexahedra and obtain outline volume
I would like to join several hexahedra and obtain an outline volume.
First, I started with 2D implementation. In 2D, there are non-intersecting quadrangles which always touch each other as shown in ...
0
votes
0answers
96 views
How to read data from simply formatted text file (c++)?
Mesh information like points, faces and cells is to be stored into separate files:
e.g. for points file:
# points data: x y z
N_Points 100
x1 y1 z1
x2 y2 z2
...
cell file:
# cells data: ...
3
votes
0answers
140 views
Derivative of Whittaker-Shannon interpolant
Last time we looked at how to improve the accuracy of Whittaker-Shannon interpolation, where user njuffa demonstrated that judicious use of sin_pi could greatly ...
0
votes
1answer
161 views
Computing excited states using itensor (with DMRG)
I am trying to compute first few excited states of some Hamiltonian (I am using itensor and its DMRG algorithm). To do so, I am ...
2
votes
2answers
311 views
Compiled c++ code runs much faster with double than float. Explanation?
I am still rather new on here and I hope question is suitable for this forum otherwise please help me migrate it to greener pastures.
I am an electrical engineer specializing in applying mathematics ...
2
votes
1answer
113 views
Automatic differentiation via ADOL-C and the Heaviside Function
I am writting a c++ program in which I define a function $$\displaystyle F(t) = \sum_{i}r_i\,H(t-t_i)$$ where $H$ is the heaviside function, $t_i$ are optimal parameters which are mutable.
The ...
1
vote
0answers
88 views
Metis: how to use and tutorial recommendation
I am new to METIS and trying to use it in my fortran code. I read the manual online. But still, I am not sure about how to implement it my code. I tried the test cases in the graphs directory. For ...