Gradient information for chemical filters
I'm curious if you have any thoughts about gradient information for the chemical filters implemented with SMACT. Thinking of the chemical filters as constraints, I'm curious if these constraints are differentiable (or could be reasonably approximated by differentiable functions). On a more practical level, this would be like asking how the chemical filters could be represented using only differentiable PyTorch functions.
The charge neutrality constraint seems pretty simple to implement, as it is a linear equality constraint.
This is an interesting though @sgbaird - are you thinking of some kind of scenario where one might be interested in maximising/minimising a property w.r.t. some of the filters? Right now I can't exactly think of a concrete example (but this is due to my poor imagination rather than a flaw in the concept). If you can explain to me a scenario where being able to differentiate the filters would be useful I think it would help me a lot :)
In the context that we apply that constriant the w, x, y, z are all integer as we were looking at stoiciometric materials, but if one started to look into solid-solutions then it might be useful to have them differentiable.
Thanks for the thought-provoking question!!
Thanks for the quick response!
I'm mostly thinking of this in the context of optimizing a property subject to the SMACT constraints. I.e. optimize it in a continuous sense. I think you bring up a good point about solid solutions.
@sgbaird - as I commented in another interesting issue you raised - I am adding this to the list of enhancements that we could add and will discuss. I am definitely interested in some kind of functionality in solid solutions/alloys.
Closing as a stale issue