coords[i]
- это список, содержащий 3 элемента x,y,z
, и я хочу получить производную G[i]
w.r.t. каждый из x,y,z
частично т.е.
d (G [I]) / д (хi)
в некоторой функциональной форме, такой как f(x)
, чтобы я мог передать скаляр от x
до f()
.
Это одна из функций, которую я использую в качестве одного из своих входов в нейронную сеть, и я хочу найти частную производную моего NN
w.r.t до x
. Поэтому я пытаюсь найти
d (NN) / d (G1 [i]). d (G1 [i]) / (x_ {i})
import pytorch
def sym1(coords):
global avg
global eeta
global Rs
global e
R_avg=Rc
G1=[]
for i,m in enumerate(coords):
G1.append(0)
Ri=np.array(coords[i])
for j in range(i,len(coords)):
if(i!=j):
Rj=np.array(coords[j])
Rij=Ri-Rj
Rij_norm=np.linalg.norm(Rij)
sum1=e**(-eeta*((Rij_norm-Rs)**2))
sum2=cutoff(Rij_norm)
summation=sum1*sum2
G1[i]=G1[i]+summation
return G1