ACEsuit/ACEpsi.jl

Scaling function for regularization

CheukHinHoJerry opened this issue · 3 comments

In the old ACE package, there is a scaling function used in ACESchrodinger:

Screenshot from 2022-12-07 20-20-48

which the current package don't have.

I will get to this eventually, but if you are in a rush, here is what this does, maybe this can help you implement it:

The scaling function specifies how to regularize each parameter. It's best to think of it as follows: the parameter for the envelope has not natural scaling and maybe shouldn't be regularized at all -> hence the 0.

But the parameters associated with the linear ACE are associated to basis functions and those basis functions have a natural regularity attached to them. In the context of the 1d models each basis function Bi can be thought of as a symmetrized tensor product P_k1 ... P_kN where the kt are the degrees. The scaling attached to this basis function is morally speaking something like the H^p norm. For simplicity we just use

   k1^p + ... + kN^p

The p here is the 2 in scaling(ace, 2)

So to implement this one would need to recover the specification of each basis function and one can then reconstruct this scaling very easily.

This should be done. Shall we close this issue?

CC @cortner

you know best, please close it if you think this has been taken care of.