Comments (3)
Hi @pujaltes!
Thank you for your note and keen observations on the code.
I had a quick look on the subject, and found a probable explanation. The equation by Bartok et. al. in the original paper has a small problem in that the integrals over the radial component do not contain the spherical coordinate Jacobian (r^2). This is mentioned in the errata that the authors have posted, and you can find it here. After you include it, you should find that our implementation is correct (when checking orthogonality, you also have to include the r^2 in the integration).
I'm not sure about the figures in our paper: I will have to take a deeper look at whether we have plotted them with the incorrect data.
from dscribe.
Here is an example that demonstrates that the radial basis functions are orthonormal (within numerical accuracy) when integrated under spherical coordinates:
import numpy as np
import matplotlib.pyplot as plt
from dscribe.descriptors import SOAP
n_max = 4
soap = SOAP(
species=["H"],
r_cut=3,
n_max=n_max,
l_max=2,
rbf="polynomial",
)
r, g = soap.get_basis_poly(3, n_max)
integrals = np.empty((n_max, n_max))
for i in range(n_max):
for j in range(n_max):
# note the r^2 coming from the Jacobian of the spherical coordinates
integrals[i, j] = np.trapz(g[i, :]*g[j, :]*r**2, r)
print(integrals)
This means that the plot in our original paper is done using the incorrect basis set, but our current implementation should be correct.
from dscribe.
@lauri-codes thank you very much for taking a look at this and for your detailed response! This makes a lot of sense, thanks for clearing it up.
from dscribe.
Related Issues (20)
- Is it possible to parallelize `lmbtr.create` when working on one `ase.Atoms` object? HOT 3
- Error with np.str (NumPy >= 1.24) HOT 1
- Descriptor that recognizes each atom of the same species differently HOT 1
- The example in README.md is not correct HOT 1
- [Bug] Error in SOAP derivatives when using weighting. HOT 2
- API compatibility is broken since 0696656 HOT 1
- ACSF.create cannot accept cartesian positions as "centers" parameter HOT 2
- Numpy operations on sparsed derivatives HOT 5
- Similarity based on Average kernel obtain deferent value between each atom and its replica atoms. HOT 1
- Similarity value is different between equivalent atoms HOT 5
- Segmentation fault in SOAP for l_max > 9 HOT 2
- Analytic Integral of SH expansion coefficients HOT 2
- issue with "species" HOT 2
- MBTR HOT 3
- ACSF G5 values HOT 2
- Segmentation fault in creation of SOAP descriptor HOT 4
- SOAP_sparse=True HOT 1
- Molecular representations for bio-molecules HOT 1
- Can not Flatten CoulombMatrix 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 dscribe.