Comments (2)
Hi @jsitarek,
I already thought about this, this is why I left a integrator
parameter in all the functions performing SED or absorption calculation.
At the moment you can basically choose between two methods: the np.trapz
we actually use in most of the functions and this trapz_loglog
I implemented in utils/math.py
.
It is based on the same function implementation in naima
https://github.com/zblz/naima/blob/master/src/naima/utils.py#L291
and in gammapy
https://github.com/gammapy/gammapy/blob/master/gammapy/utils/integrate.py#L8
I tried to make it a more efficient but did not really manage.
The gammapy developers tell me a log-log integration allows you to have the same precision with a lower number of grid points.
It is not adaptive though.
There is actually a test function checking the two integration methods (np.trapz
and trapz_loglog
) against each other, for synch and inverse Compton processes:
I just wanted to say that I already started to think about this 😉, but let's discuss more!
from agnpy.
Hi @cosimoNigro
I realized one more problem with those integrals. They take really increadible amount of system memory.
If you want to compute EC SED over 500 gamma values, 100 mu values and 50 phi values for 100 energies, even with 4 bytes per number it would already end up in 1 GB of memory, and I think in reality python is using much more, because during tests I was running out of memory of a 16 GB machine.
I think we should consider some integration method that takes as a parameter not a grid of points, but a function and boundaries. This will take much less memory and most probably will be also much faster.
from agnpy.
Related Issues (20)
- Introducing a Particle class HOT 1
- Incompatibility between astropy 5.0.1 and agnpy 0.1.8 ? HOT 1
- bug when simulation of gammapy datasets with an agnpy spectrum model HOT 9
- Absorption calculation stability HOT 1
- Add sherpa and gammapy among the dependencies (add them to install_requires in setup.py) HOT 4
- Add a CITATION.cff file?
- TypeError: __init__() got an unexpected keyword argument 'is_norm' HOT 3
- Bullet points of lists disappear on Read the Docs HOT 1
- Error in the EBL absorption HOT 1
- Error in InterpolatedDistribution HOT 11
- Discrepancy between AGNpy and LeHa code in proton synchrotron
- Add the synchrotron proton to the models available for fitting
- Issue with fitting MWL SED using agnpy HOT 7
- Return the different SED components after a fit HOT 2
- Problem about load_absorption_table in class EBL HOT 2
- Problem about load_absorption_table in class EBL
- Move the tests to the subdirectory of each module. HOT 1
- Fitting of a MWL BL Lac SED: Fit doesn't converge. HOT 1
- d_L parameter in blob definition spoiling older code and examples
- Logging is silently disabled on agnpy import HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agnpy.