ATAT generalized tensor cluster expansion and cubic strain harmonics.
  bash run.sh
  bash plot.sh

Native ATAT3.52, GCC13.3 tools: gce, lsfit, gencs. ASE3.29.0 Python provides
actual EMT Cu/Au stress labels, independent least squares and plotting.
Single CPU thread. There is no DFT, MD, training-potential or stability claim.

40 distinct 16-atom FCC Cu/Au occupancy patterns, fixed a=3.9 Angstrom.
32 training + 8 heldout. Seed620001. Deduplicate patterns using all256
symmetry/translation permutations of this finite supercell before the split.
The stress labels are actual static EMT evaluations with ASE tensile-positive
convention, eV/Angstrom^3. The 3x3 symmetric matrices have nine serialized
components (six independent); the fit uses all nine with the native basis.

gcetensor.in defines rank2 and index symmetry0,1. Native gce generates eight
basis columns; lsfit fits them. This installed lsfit prints five decimals;
its actual coefficients must equal the independent coefficients rounded to
that precision. No extra printed digits are invented. Native gce -eci uses
-mi because multiplicities are already included in these fitted coefficients.
Without that convention the same ECI file has a different meaning.

gencs -r=4 generates the normalized cubic rank4 harmonic H. It is an angular
basis, not elastic constants or strain energy. Its trace, norm, independent
cubic polynomial and48 signed-permutation rotations are checked explicitly.

reference stores actual inputs, basis tensors, labels and predictions. All
new outputs are created in new-work, which must not exist before running.
The finite model is an operational demonstration, not a transferable material
stress predictor. Do not use the harmonic coefficients as elastic moduli.
