libAtoms / QUIP

libAtoms/QUIP molecular dynamics framework: https://libatoms.github.io
348 stars 122 forks source link

r_\delta #181

Closed bpar0 closed 4 years ago

bpar0 commented 4 years ago

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

gabor1 commented 4 years ago

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ.

gabor1 commented 4 years ago

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ.

gabor1 commented 4 years ago

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ.

gabor1 commented 4 years ago

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

Thanks for your email. Sure, I plotted r vs. 1-fp0.fp, but the fp distance is non zero for r > r_\delta:

import numpy as np import quippy from quippy import descriptors import random

l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}'

input_file="posinp.selected.0000.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z

images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param)

image=images[0] image.set_cutoff(desc.cutoff()) image.calc_connect() fp0 = desc.calc(image)['descriptor'][0] delta0=2.0 pos0=image.positions.copy() for rcut in np.linspace(1.0,cutoff,10):

Rndmatrix=[[random.random() for j in range(3)] for i in range(60)]

image.positions = image.positions + 0.02*np.array(Rndmatrix)

image.positions = pos0.copy() for iat in range(len(image.positions)): dist2=(image.positions[iat][0]-image.positions[0][0])2+ \ (image.positions[iat][1]-image.positions[0][1])2+ \ (image.positions[iat][2]-image.positions[0][2])2 if(dist2 > rcut2): image.positions[iat] = image.positions[iat] + random.random() * delta0 image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'][0]

print("{} {}".format(rcut,1.0-np.dot(fp0,fp)) )

$ python fptest.py 1.0 0.131003448759 1.55555555556 0.0940455503069 2.11111111111 0.129301550693 2.66666666667 0.0482359275571 3.22222222222 0.07743547153 3.77777777778 0.0779360129474 4.33333333333 0.0432947150018 4.88888888889 0.0596728788335 5.44444444444 0.0192352844582 6.0 0.00455058582084


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 12:40:50 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUPSTJID3BUUY6STSDRE6REFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEBR3Q#issuecomment-591927534, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTROXONUF3N2IF7HQT3RE6REFANCNFSM4K3O4QDQ.

gabor1 commented 4 years ago

I’m not sure what your problem is. The results are perfectly in agreement with what one would expect. Towards the end you are only perturbing atoms outside the 6A cutoff of the soap descriptor and accordingly, the dot product with the original is almost 1.

why do you think this is wrong?

the r_delta (i.e. the cutoff_transition_width) is 0.5, so the contributions of atoms between 5.5 (cutoff-r_delta) and 6.0 (cutoff) decrease smoothly to zero. so you expect the soap vector distance to be zero for r > cutoff (not r > r_delta as you write), and this is indeed borne out by your test.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 12:13, bpar0 notifications@github.com wrote:

Thanks for your email. Sure, I plotted r vs. 1-fp0.fp, but the fp distance is non zero for r > r_\delta:

import numpy as np import quippy from quippy import descriptors import random

l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}'

input_file="posinp.selected.0000.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z

images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param)

image=images[0] image.set_cutoff(desc.cutoff()) image.calc_connect() fp0 = desc.calc(image)['descriptor'][0] delta0=2.0 pos0=image.positions.copy() for rcut in np.linspace(1.0,cutoff,10):

Rndmatrix=[[random.random() for j in range(3)] for i in range(60)]

image.positions = image.positions + 0.02*np.array(Rndmatrix)

image.positions = pos0.copy() for iat in range(len(image.positions)): dist2=(image.positions[iat][0]-image.positions[0][0])2+ \ (image.positions[iat][1]-image.positions[0][1])2+ \ (image.positions[iat][2]-image.positions[0][2])2 if(dist2 > rcut2): image.positions[iat] = image.positions[iat] + random.random() * delta0 image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'][0]

print("{} {}".format(rcut,1.0-np.dot(fp0,fp)) )

$ python fptest.py 1.0 0.131003448759 1.55555555556 0.0940455503069 2.11111111111 0.129301550693 2.66666666667 0.0482359275571 3.22222222222 0.07743547153 3.77777777778 0.0779360129474 4.33333333333 0.0432947150018 4.88888888889 0.0596728788335 5.44444444444 0.0192352844582 6.0 0.00455058582084


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 12:40:50 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUPSTJID3BUUY6STSDRE6REFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEBR3Q#issuecomment-591927534, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTROXONUF3N2IF7HQT3RE6REFANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

For each rcut the code perturbs the region outside of rcut. Now I got it. That's totally correct. I had a misunderstanding for r\delta. I thought the contributions for distances in the range [r\delta,cutoff] should become zero, but its [cutoff-rdelta, cutoff]. Before, I expected the fp distances to go smoothly to zero for r>r\delta.

I was wondering where I can see the exact form of the cutoff function? would you also recommend euclidean norm of fingerprints for the fingerprint distance as in the below paper of yours:

S. N. Pozdnyakov, M. J. Willatt, A. P. Bartók, C. Or-tner, G. Csányi, and M. Ceriotti, arXiv preprintarXiv:2001.11696 (2020).


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 1:36:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I’m not sure what your problem is. The results are perfectly in agreement with what one would expect. Towards the end you are only perturbing atoms outside the 6A cutoff of the soap descriptor and accordingly, the dot product with the original is almost 1.

why do you think this is wrong?

the r_delta (i.e. the cutoff_transition_width) is 0.5, so the contributions of atoms between 5.5 (cutoff-r_delta) and 6.0 (cutoff) decrease smoothly to zero. so you expect the soap vector distance to be zero for r > cutoff (not r > r_delta as you write), and this is indeed borne out by your test.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 12:13, bpar0 notifications@github.com wrote:

Thanks for your email. Sure, I plotted r vs. 1-fp0.fp, but the fp distance is non zero for r > r_\delta:

import numpy as np import quippy from quippy import descriptors import random

l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}'

input_file="posinp.selected.0000.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z

images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param)

image=images[0] image.set_cutoff(desc.cutoff()) image.calc_connect() fp0 = desc.calc(image)['descriptor'][0] delta0=2.0 pos0=image.positions.copy() for rcut in np.linspace(1.0,cutoff,10):

Rndmatrix=[[random.random() for j in range(3)] for i in range(60)]

image.positions = image.positions + 0.02*np.array(Rndmatrix)

image.positions = pos0.copy() for iat in range(len(image.positions)): dist2=(image.positions[iat][0]-image.positions[0][0])2+ \ (image.positions[iat][1]-image.positions[0][1])2+ \ (image.positions[iat][2]-image.positions[0][2])2 if(dist2 > rcut2): image.positions[iat] = image.positions[iat] + random.random() * delta0 image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'][0]

print("{} {}".format(rcut,1.0-np.dot(fp0,fp)) )

$ python fptest.py 1.0 0.131003448759 1.55555555556 0.0940455503069 2.11111111111 0.129301550693 2.66666666667 0.0482359275571 3.22222222222 0.07743547153 3.77777777778 0.0779360129474 4.33333333333 0.0432947150018 4.88888888889 0.0596728788335 5.44444444444 0.0192352844582 6.0 0.00455058582084


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 12:40:50 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUPSTJID3BUUY6STSDRE6REFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEBR3Q#issuecomment-591927534, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTROXONUF3N2IF7HQT3RE6REFANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUFZU37XQWWZUKKNTDRE6XU3A5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEGWCY#issuecomment-591948555, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTX25BJGEYWJHWFITI3RE6XU3ANCNFSM4K3O4QDQ.

gabor1 commented 4 years ago

the soap vector will not change for perturbations [r_cut, \infty].

for distance I recommend d(p,p’) = sqrt ( 1 - p.p’) where p and p’ are soap vectors

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 13:31, bpar0 notifications@github.com wrote:

For each rcut the code perturbs the region outside of rcut. Now I got it. That's totally correct. I had a misunderstanding for r\delta. I thought the contributions for distances in the range [r\delta,cutoff] should become zero, but its [cutoff-rdelta, cutoff]. Before, I expected the fp distances to go smoothly to zero for r>r\delta.

I was wondering where I can see the exact form of the cutoff function? would you also recommend euclidean norm of fingerprints for the fingerprint distance as in the below paper of yours:

S. N. Pozdnyakov, M. J. Willatt, A. P. Bartók, C. Or-tner, G. Csányi, and M. Ceriotti, arXiv preprintarXiv:2001.11696 (2020).


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 1:36:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I’m not sure what your problem is. The results are perfectly in agreement with what one would expect. Towards the end you are only perturbing atoms outside the 6A cutoff of the soap descriptor and accordingly, the dot product with the original is almost 1.

why do you think this is wrong?

the r_delta (i.e. the cutoff_transition_width) is 0.5, so the contributions of atoms between 5.5 (cutoff-r_delta) and 6.0 (cutoff) decrease smoothly to zero. so you expect the soap vector distance to be zero for r > cutoff (not r > r_delta as you write), and this is indeed borne out by your test.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 12:13, bpar0 notifications@github.com wrote:

Thanks for your email. Sure, I plotted r vs. 1-fp0.fp, but the fp distance is non zero for r > r_\delta:

import numpy as np import quippy from quippy import descriptors import random

l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}'

input_file="posinp.selected.0000.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z

images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param)

image=images[0] image.set_cutoff(desc.cutoff()) image.calc_connect() fp0 = desc.calc(image)['descriptor'][0] delta0=2.0 pos0=image.positions.copy() for rcut in np.linspace(1.0,cutoff,10):

Rndmatrix=[[random.random() for j in range(3)] for i in range(60)]

image.positions = image.positions + 0.02*np.array(Rndmatrix)

image.positions = pos0.copy() for iat in range(len(image.positions)): dist2=(image.positions[iat][0]-image.positions[0][0])2+ \ (image.positions[iat][1]-image.positions[0][1])2+ \ (image.positions[iat][2]-image.positions[0][2])2 if(dist2 > rcut2): image.positions[iat] = image.positions[iat] + random.random() * delta0 image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'][0]

print("{} {}".format(rcut,1.0-np.dot(fp0,fp)) )

$ python fptest.py 1.0 0.131003448759 1.55555555556 0.0940455503069 2.11111111111 0.129301550693 2.66666666667 0.0482359275571 3.22222222222 0.07743547153 3.77777777778 0.0779360129474 4.33333333333 0.0432947150018 4.88888888889 0.0596728788335 5.44444444444 0.0192352844582 6.0 0.00455058582084


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 12:40:50 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUPSTJID3BUUY6STSDRE6REFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEBR3Q#issuecomment-591927534, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTROXONUF3N2IF7HQT3RE6REFANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUFZU37XQWWZUKKNTDRE6XU3A5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEGWCY#issuecomment-591948555, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTX25BJGEYWJHWFITI3RE6XU3ANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

bpar0 commented 4 years ago

Thank you very much.


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 2:49:38 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the soap vector will not change for perturbations [r_cut, \infty].

for distance I recommend d(p,p’) = sqrt ( 1 - p.p’) where p and p’ are soap vectors

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 13:31, bpar0 notifications@github.com wrote:

For each rcut the code perturbs the region outside of rcut. Now I got it. That's totally correct. I had a misunderstanding for r\delta. I thought the contributions for distances in the range [r\delta,cutoff] should become zero, but its [cutoff-rdelta, cutoff]. Before, I expected the fp distances to go smoothly to zero for r>r\delta.

I was wondering where I can see the exact form of the cutoff function? would you also recommend euclidean norm of fingerprints for the fingerprint distance as in the below paper of yours:

S. N. Pozdnyakov, M. J. Willatt, A. P. Bartók, C. Or-tner, G. Csányi, and M. Ceriotti, arXiv preprintarXiv:2001.11696 (2020).


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 1:36:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I’m not sure what your problem is. The results are perfectly in agreement with what one would expect. Towards the end you are only perturbing atoms outside the 6A cutoff of the soap descriptor and accordingly, the dot product with the original is almost 1.

why do you think this is wrong?

the r_delta (i.e. the cutoff_transition_width) is 0.5, so the contributions of atoms between 5.5 (cutoff-r_delta) and 6.0 (cutoff) decrease smoothly to zero. so you expect the soap vector distance to be zero for r > cutoff (not r > r_delta as you write), and this is indeed borne out by your test.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 12:13, bpar0 notifications@github.com wrote:

Thanks for your email. Sure, I plotted r vs. 1-fp0.fp, but the fp distance is non zero for r > r_\delta:

import numpy as np import quippy from quippy import descriptors import random

l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}'

input_file="posinp.selected.0000.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z

images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param)

image=images[0] image.set_cutoff(desc.cutoff()) image.calc_connect() fp0 = desc.calc(image)['descriptor'][0] delta0=2.0 pos0=image.positions.copy() for rcut in np.linspace(1.0,cutoff,10):

Rndmatrix=[[random.random() for j in range(3)] for i in range(60)]

image.positions = image.positions + 0.02*np.array(Rndmatrix)

image.positions = pos0.copy() for iat in range(len(image.positions)): dist2=(image.positions[iat][0]-image.positions[0][0])2+ \ (image.positions[iat][1]-image.positions[0][1])2+ \ (image.positions[iat][2]-image.positions[0][2])2 if(dist2 > rcut2): image.positions[iat] = image.positions[iat] + random.random() * delta0 image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'][0]

print("{} {}".format(rcut,1.0-np.dot(fp0,fp)) )

$ python fptest.py 1.0 0.131003448759 1.55555555556 0.0940455503069 2.11111111111 0.129301550693 2.66666666667 0.0482359275571 3.22222222222 0.07743547153 3.77777777778 0.0779360129474 4.33333333333 0.0432947150018 4.88888888889 0.0596728788335 5.44444444444 0.0192352844582 6.0 0.00455058582084


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 12:40:50 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

so can you send me the evidence for the soap vector sensitivity as a function of distance, e.g. a plot of p(0).dot.p(r) where p(0) is the soap vector of an atom in the original system at position 0,0,0, and p(r) is the soap vector of the same atom at 0,0,0 but with a neighbour at (x,y,z) perturbed by a constant small amount delta, with r=sqrt(xx+yy+z*z)

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 27 Feb 2020, at 11:32, bpar0 notifications@github.com wrote:

Thanks. Here is my code:

import numpy as np import quippy from quippy import descriptors l_max=12 n_max=12 atom_sigma=0.3 cutoff = 6.0 n_Z=1 Z='{6}' n_species=1 species_Z='{6}' input_file="posinp.xyz" soap_param="soap cutoff="+str(cutoff)+" l_max="+str(l_max)+" n_max="+str(n_max)+" atom_sigma="+str(atom_sigma)+ \ " n_Z="+str(n_Z)+" Z="+Z+" n_species="+str(n_species)+" species_Z="+species_Z images = quippy.AtomsList(input_file) desc = descriptors.Descriptor(soap_param) filename=input_file+'.soapfp' f=open(filename,'w') for image in images: image.set_cutoff(desc.cutoff()) image.calc_connect() fp = desc.calc(image)['descriptor'] for i in range(len(fp)): atomfp = fp[i] str_fppp = ' '.join(str(j) for j in atomfp) f.write(strfppp) f.write('\n') After I have all the atomic fingerprints in the file, I calculate the fingerprint distance between two atomic environment (in another code) as the dot product or the Euclidean distance between the fp vectors. I see that with the parameters that I use, the fingerprint of an atom is very sensitive to far regions. But if r\delta is so small, I wonder why that happens.

I don't know which version of Quippy I am using, but I installed it in the beginning of 2018. Best regards


From: gabor1 notifications@github.com Sent: Thursday, February 27, 2020 11:45:41 AM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

The contribution of neighbours that fall within the cutoff-transition width will obviously go down. please post code here on how you compute the soap representation and the distance between them.

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 26 Feb 2020, at 13:10, bpar0 notifications@github.com wrote:

Thanks. In that case according to formula 6 in the mentioned paper, far neighbors have smaller contribution than close neighbors. But when I calculate soap fingerprint distance between two different environments that are very similar up to 2 or 3 nearest neighbors, it gives me a high value. r_\delta is very small. How can I get a large fp distance in that case.


From: gabor1 notifications@github.com Sent: Wednesday, February 26, 2020 1:29:36 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

I think it's 0.5 A. Maybe a bit too small

-- Gábor

On 26 Feb 2020, at 11:36, bpar0 notifications@github.com wrote:

Thank you very much for your response. What is the default value of cutoff_transition_width If one doesn't it in the code?


From: gabor1 notifications@github.com Sent: Tuesday, February 25, 2020 7:13:29 PM To: libAtoms/QUIP Cc: Behnam Parsaeifard; Author Subject: Re: [libAtoms/QUIP] r_\delta (#181)

the ones you want are cutoff and cutoff_transition_width

-- Gábor

Gábor Csányi Professor of Molecular Modelling Engineering Laboratory, University of Cambridge Pembroke College Cambridge

Pembroke College supports CARA. A Lifeline to Academics at Risk. http://www.cara.ngo/

On 25 Feb 2020, at 18:09, bpar0 notifications@github.com wrote:

Hi I was wondering what these papams are in SOAP: cutoff_dexp, cutoff_scale, and cutoffrate. Which one is r\delta introduced in "Machine learning based interatomic potential for amorphous carbon"? how can I set the cutoff function with cutoff radius rc and a characteristic decay length of r\delta? Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTXCNBQHJWAZA7SXMKLREVNUTA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM45CIA#issuecomment-590991648, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTQA6Y5LXEEN5P4YVMTREVNUTANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTQA35WF6QGX57VSBVTREZODBA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENABFMY#issuecomment-591401651, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXOIKH3ZLWSPUDUM6TREZODBANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTSUTJY2G2G2BETI4MTRE6KVLA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND3ZWY#issuecomment-591903963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTRQEGRIWZOLO5IP6O3RE6KVLANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUPSTJID3BUUY6STSDRE6REFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEBR3Q#issuecomment-591927534, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTROXONUF3N2IF7HQT3RE6REFANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUFZU37XQWWZUKKNTDRE6XU3A5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEGWCY#issuecomment-591948555, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTX25BJGEYWJHWFITI3RE6XU3ANCNFSM4K3O4QDQ. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/libAtoms/QUIP/issues/181?email_source=notifications&email_token=AOU7UTUDZYQ65BCO7Z22OVDRE7AHFA5CNFSM4K3O4QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEOO5Y#issuecomment-591980407, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOU7UTXGWAIHQBIHV7ASYVTRE7AHFANCNFSM4K3O4QDQ.