batterymhm / docs /METHOD.md
williamTLmiller's picture
Make it a full tech repo: packaging, CI, docs, examples, community files
4671c68 verified
|
Raw
History Blame Contribute Delete
6 kB

The Miller Harmonic Method (MHM) — Technical Overview

This document explains the method implemented in batterymhm/. The method is patent pending; this description is provided for understanding and reproduction under the repository's CC BY-NC 4.0 license.


1. The harmonic digit space and the fold map

MHM works in a finite digit space D = {1, 2, …, 9}. Any integer is projected into D by the fold map:

HIN(k) = 1 + ((k − 1) mod 9)

HIN stands for Harmonic Identity Number. In code this is f9 (general) and hin (applied to an atomic number Z). Two integers that differ by a multiple of 9 share a harmonic class. Real-valued measurements (capacity, voltage, temperature) are first quantised into 9 bins (seq_to_harmonics) so they, too, live in D.

2. The binary operations

Two complementary operations act on D, each folded back into D:

Operation Symbol Definition Role
Creative addition f9(a + b + 1) recombination / creative synthesis
Growth product f9(a·b + 1) growth / energy exchange
Energy addition ⊕_E f9(a + b + 1 + tier) shell-tiered energy coupling
Miller subtraction f9(a − b + 9) directed harmonic difference

These are the building blocks for the histograms and the calculus below. (Note: and are not exact inverses — the +1 in creative addition is deliberate and gives the algebra its asymmetry.)

3. The Chi compatibility matrix

The heart of the method is a fixed 9×9 Chi matrix Χ[i, j] ∈ (0, 1] (batterymhm/atomic.py). Χ[i, j] is the harmonic compatibility (resonance) between classes i and j. It is symmetric with a unit diagonal.

The nine classes split into two physical channels:

  • Matter — classes 1–8, scored on the 8×8 sub-matrix CHI_MATTER_8x8.
  • Energy — class 9, the "energy pole," scored on a separate 9-vector CHI_ENERGY_9.
  • Tesla nodes — classes {3, 6, 9} are energy-focusing; they get their own network features.

This matter/energy split lets crystal-structure models score matter–matter bonding and the energy-pole contribution on distinct geometries.

4. The Miller sequence and shell levels

The Miller sequence is a Fibonacci-like sequence with seed [1, 1, 3]:

1, 1, 3, 4, 7, 11, 18, 29, 47, 76, …

Its positions group into shell levels (level 1 = positions 1–3, level 2 = 4–12, level 3 = 13–39, …), each level three times larger than the last. These levels provide a physically meaningful sampling grid: for a battery, level-1 positions correspond to the first few cycles (the "initialization signature"), and later levels to the long-term aging trajectory. The sequence and its class trajectory (via CMR, repeated creative-addition reduction) are turned into features.

5. Embeddings

Two embeddings bridge the discrete digit space to continuous math:

  • χ-embedding: χ(a) = (a + 1) mod 9 → an index in ℤ₉ (bridge to calculus).
  • φ-embedding: φ(d) = sin(πd / 9) → a real number (bridge to geometry).

6. Miller calculus

Operating on a harmonic sequence, MHM defines discrete differential operators (batterymhm/calculus.py):

  • velocity — mean first-order Miller difference,
  • acceleration — mean second-order difference,
  • integral — cumulative creative addition,
  • curvature — curvature κ = |y''| / (1 + y'²)^{3/2} of the φ-embedded curve, which spikes at the onset of capacity-fade degradation (the aging "knee").

Evaluated at multiple window scales, these capture multi-scale degradation dynamics.

7. The descriptor (557 features)

mhm_full_features(hins) returns a fixed 557-dimensional vector (batterymhm/features.py):

Group # What it encodes
Chi9 full histogram 81 distance-weighted 9×9 compatibility
Chi9 count histogram 81 unweighted pair counts
HIN transition matrix 81 Markov ordering of the sequence
Growth-product histogram 81 energy-exchange character
Energy-addition histograms (2 tiers) 162 ⊕_E shell-coupled resonance
Miller-level breakdown 27 class occupancy per shell level
Tesla-network features 9 {3,6,9} focusing nodes and bridges
Multi-scale Miller calculus 12 velocity/accel/curvature/integral × 3 scales
Creative-addition chains 15 cumulative chain statistics
CMR multi-point 5 reductions at 5 truncations
HIN / GP / EA entropy 3 diversity of harmonic interactions

For crystals, mhm_matter8_neighbor_histograms and mhm_neighbor_histograms build the descriptor from the actual neighbour-pair list (HIN_a, HIN_b, dist), so every feature is physically grounded.

8. The model

The descriptor feeds MHMEnsemble (batterymhm/ensemble.py):

  • ExtraTrees (600 trees) + XGBoost (400 trees), blended 0.75 / 0.25,
  • with an optional Ridge out-of-fold stacking meta-learner,
  • all seeds fixed at 42 for reproducibility.

The ensemble is deliberately light and CPU-only; the harmonic descriptor does the heavy lifting.

9. Two battery applications

Cell state-of-health. Quantise an early-cycle capacity curve into HINs → compute the 557-feature descriptor → predict SOH / remaining useful life. On the MIT–Stanford–TRI dataset this reaches MAE 0.0114 (5-fold CV, 30% window), #1 on that benchmark.

Crystal formation energy. Fold each crystallographic site to a HIN by atomic number → score neighbour pairs through the 8×8 matter matrix + HIN-9 energy channel → predict formation energy. On Matbench mp_e_form this reaches MAE 0.1513 eV/atom — better than the classic RF baseline, below modern GNNs (an honest, documented limitation).


The fold map, the operations, the Chi matrix, the Miller sequence, and the multi-scale aggregation are the subject of pending patent applications by William T. L. Miller.