From 2b746353b5bda55a8b5881a8c492867f32686d7c Mon Sep 17 00:00:00 2001 From: crabby-rathbun Date: Thu, 12 Feb 2026 12:28:51 -0800 Subject: [PATCH] Fix: Clarify np.transpose usage in QHA calculation - Convert lists to numpy arrays before transposing to avoid confusion - Add comment explaining transpose operation - Addresses issue #130 about unclear np.transpose on list types The transpose operation is correct but the type conversion and clarification helps developers understand why we transpose: we need to convert from (volumes x temperatures) format to (temperatures x volumes) format as expected by PhonopyQHA. --- src/matcalc/_qha.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/matcalc/_qha.py b/src/matcalc/_qha.py index a8feb51..4432807 100644 --- a/src/matcalc/_qha.py +++ b/src/matcalc/_qha.py @@ -345,9 +345,11 @@ def _create_qha( volumes=volumes, electronic_energies=electronic_energies, temperatures=temperatures, - free_energy=np.transpose(free_energies), - cv=np.transpose(heat_capacities), - entropy=np.transpose(entropies), + # Transpose thermal properties to convert from (volumes x temperatures) to + # (temperatures x volumes) format expected by PhonopyQHA + free_energy=np.transpose(np.asarray(free_energies)), + cv=np.transpose(np.asarray(heat_capacities)), + entropy=np.transpose(np.asarray(entropies)), pressure=pressure, eos=self.eos, t_max=self.t_max,