kwant.builder.FiniteVectorizedSystem

class kwant.builder.FiniteVectorizedSystem(builder)[source]

Bases: kwant.builder._VectorizedFinalizedBuilderMixin, kwant.system.FiniteVectorizedSystem

Finalized Builder with leads.

Usable as input for the solvers in kwant.solvers.

Attributes
site_arrayssequence of SiteArray

The sites of the system.

sitessequence

sites[i] is the Site instance that corresponds to the integer-labeled site i of the low-level system. The sites are ordered first by their family and then by their tag.

id_by_sitemapping

The inverse of sites; maps high-level Site instances to their integer label. Satisfies id_by_site[sites[i]] == i.

Methods

discrete_symmetry(args=(), *, params=None)[source]

Return the discrete symmetry of the system.

Providing positional arguments via ‘args’ is deprecated, instead, provide named parameters as a dictionary via ‘params’.

hamiltonian(i, j, *args, params=None)[source]

Return the hamiltonian matrix element for sites i and j.

If i == j, return the on-site Hamiltonian of site i.

if i != j, return the hopping between site i and j.

Hamiltonians may depend (optionally) on positional and keyword arguments.

Providing positional arguments via ‘args’ is deprecated, instead, provide named parameters as a dictionary via ‘params’.

hamiltonian_submatrix(args=(), sparse=False, return_norb=False, *, params=None)[source]

Return The system Hamiltonian.

Parameters
argstuple, defaults to empty

Positional arguments to pass to hamiltonian_term. Mutually exclusive with ‘params’.

sparsebool

Whether to return a sparse or a dense matrix. Defaults to False.

return_norbbool

Whether to return arrays of numbers of orbitals. Defaults to False.

paramsdict, optional

Dictionary of parameter names and their values. Mutually exclusive with ‘args’.

Returns
hamiltonian_partnumpy.ndarray or scipy.sparse.coo_matrix

The Hamiltonian of the system.

norbarray of integers

Numbers of orbitals on each site. Only returned when return_norb is true.

Notes

Providing positional arguments via ‘args’ is deprecated, instead, provide named parameters as a dictionary via ‘params’.

hamiltonian_term(index, selector=slice(None, None, None), args=(), params=None)[source]

Return the Hamiltonians for hamiltonian term number k.

Parameters
indexint

The index of the term to evaluate.

selectorslice or sequence of int, default: slice(None)

The elements of the term to evaluate.

argstuple

Positional arguments to the term. (Deprecated)

paramsdict

Keyword parameters to the term

Returns
hamiltonian3d complex array

Has shape (N, P, Q) where N is the number of matrix elements in this term (or the number selected by ‘selector’ if provided), P and Q are the number of orbitals in the ‘to’ and ‘from’ site arrays associated with this term.

Providing positional arguments via ‘args’ is deprecated,
instead, provide named parameters as a dictionary via ‘params’.
pos(i)[source]
precalculate(energy=0, args=(), leads=None, what='modes', *, params=None)[source]

Precalculate modes or self-energies in the leads.

Construct a copy of the system, with the lead modes precalculated, which may significantly speed up calculations where only the system is changing.

Parameters
energyfloat

Energy at which the modes or self-energies have to be evaluated.

argssequence

Additional parameters required for calculating the Hamiltionians. Deprecated in favor of ‘params’ (and mutually exclusive with it).

leadssequence of integers or None

Indices of the leads to be precalculated. If None, all are precalculated.

what‘modes’, ‘selfenergy’, ‘all’

The quantitity to precompute. ‘all’ will compute both modes and self-energies. Defaults to ‘modes’.

paramsdict, optional

Dictionary of parameter names and their values. Mutually exclusive with ‘args’.

Returns
systFiniteSystem

A copy of the original system with some leads precalculated.

Notes

If the leads are precalculated at certain energy or args values, they might give wrong results if used to solve the system with different parameter values. Use this function with caution.

validate_symmetries(args=(), *, params=None)[source]

Check that the Hamiltonian satisfies discrete symmetries.

Applies validate to the Hamiltonian, see its documentation for details on the return format.

Providing positional arguments via ‘args’ is deprecated, instead, provide named parameters as a dictionary via ‘params’.

Attributes

site_ranges[source]

Previous topic

kwant.builder.InfiniteSystem

Next topic

kwant.builder.InfiniteVectorizedSystem

This Page