diff --git a/kwant/kpm.py b/kwant/kpm.py index a06d7c6d19af5a3a5266e5fff68103cc9f7b3b04..db19f4ea6504f3170cbe438be4904864dd405121 100644 --- a/kwant/kpm.py +++ b/kwant/kpm.py @@ -219,6 +219,14 @@ class SpectralDensity: num_vectors=num_vectors, accumulate=accumulate_vectors) else: + if not isinstance(vector_factory, Iterable): + raise TypeError('vector_factory must be iterable') + try: + len(vector_factory) + except TypeError: + if num_vectors is None: + raise ValueError('num_vectors must be provided if' + 'vector_factory has no length.') self._vector_factory = _VectorFactory( vector_factory, num_vectors=num_vectors,