Too Large condition number due to charge-neutrality constraints

Hello,

I am trying to build a cluster expansion for a Li–Ti–Mn–O system using icet. In my generated structures, I enforce fixed oxidation states: Li+, Mn3+, Ti4+, and O2−. Because of charge neutrality and the fixed rocksalt sublattice ratio, once the Mn concentration is chosen, the Li and Ti concentrations are also determined.

The feature matrix has a very large condition number. I suspect that this comes from linear dependencies induced by the charge-neutrality constraint. I identified a dependent parameter and first tried to resolve it using merge_orbits, but this did not work. My guess is that the dependency is not between different orbits, but between different parameters within the same orbit.

As a test, I constructed a reduced feature matrix by removing one column corresponding to a linearly dependent CE parameter. The condition number was initially around 500 and decreased to around 100 after annealing.

Is this a reasonable approach? More specifically, is it acceptable to remove a charge-neutrality-induced dependent parameter and perform selection/fitting using the reduced feature matrix?

Thank you.

Yes having correlations between concentrations like this will lead to large condition number as these will always be exactly linearly dependent.

With very large condition number I assume you mean like 10^10 or larger?

I think for these cases as long as the CE will only be used for structures that obey this same “concentration correlation” , then its fine to use as normal and no need to remove any orbits or do anything.

You could also remove one of them (effectively setting the parameter to zero) as you describe , then fit and use these parameters and then just set the removed parameter value to zero, that should also work.

Yes, that is correct. By a very large condition number, I meant approximately 10^15.

Thank you for the clarification. I will try what you suggest.