symmetry of fingerprint primes

Issue #83 resolved
Alireza Khorshidi created an issue

Theoretically we expect that fingerprint primes should have the following symmetry:

fpprime(a, b, i) = -fpprime(b, a, i)

where "fpprime(a, b, i)" is the change in fingerprint of atom "a" when atom "b" is changed by unit distance in direction "i".

A test needs to be added for this property. Also, when we made sure our implementation passes this test, then we can use this symmetry relation which will make fingerprintprime calculations two time faster.

Right now there seems to be some deviation from this symmetry relation. That is for image number 3 of the attached trajectory,

fpprimes["15c132b4661618dc2c2048081a8e985b"]["(12, 0, 2)"] = [0.005769723618820766,
 0.0,
 0.00012199291719614833,
 0.0,
 1.9879166053548878e-11,
 0.0,
 6.37184613107245e-37,
 0.0,
 0.01186531953372096,
 0.0,
 0.0,
 0.001107647325721722,
 0.0,
 0.0,
 0.00930348365565044,
 0.0,
 0.0,
 4.642384611443454e-06,
 0.0,
 0.0]

whereas

fpprimes["15c132b4661618dc2c2048081a8e985b"]["(0, 12, 2)"] = [-0.005769723618820766,
 0.0,
 -0.00012199291719614833,
 0.0,
 -1.9879166053548878e-11,
 0.0,
 -6.37184613107245e-37,
 0.0,
 -0.011862603417240332,
 0.0,
 0.0,
 -0.0011121383697773309,
 0.0,
 0.0,
 -0.0092931035545954,
 0.0,
 0.0,
 -4.766300971666482e-06,
 0.0,
 0.0]

Is the deviation due to numerical error?

Comments (3)

  1. Alireza Khorshidi reporter

    For a system of only two atoms, where "i" is the direction connecting the two atoms, the statement "fpprime(a, b, i) = -fpprime(b, a, i)" is true. But I am not sure that it is true in general!

  2. Log in to comment