From 65dda4f1969b43b8802b259f6937f7fd7d500080 Mon Sep 17 00:00:00 2001 From: Pol Febrer Date: Wed, 8 May 2024 17:14:02 +0200 Subject: [PATCH] Added trace of M*overlap --- src/sisl/_core/sparse_geometry.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sisl/_core/sparse_geometry.py b/src/sisl/_core/sparse_geometry.py index faff2ff161..8ff3570fab 100644 --- a/src/sisl/_core/sparse_geometry.py +++ b/src/sisl/_core/sparse_geometry.py @@ -1077,6 +1077,13 @@ def fromsp(cls, geometry: Geometry, P, **kwargs): return p + def trace_with_S(self): + """Trace of the multiplication of the sparse matrix with the overlap matrix.""" + if self.orthogonal: + return self._csr.diagonal().sum(axis=0) + else: + return (self._csr.data[:, :-1] * self._csr.data[:, [-1]]).sum(axis=0) + # numpy dispatch methods (same priority as SparseCSR!) __array_priority__ = 14