sparse

  • full name: tenpy.linalg.sparse

  • parent module: tenpy.linalg

  • type: module

Classes

Inheritance diagram of tenpy.linalg.sparse

BoostNpcLinearOperator(orig_operator, ...)

Represents original_operator + shift_i * |vec_i><vec_i|.

FlatHermitianOperator(*args, **kwargs)

Hermitian variant of FlatLinearOperator.

FlatLinearOperator(*args, **kwargs)

Square Linear operator acting on numpy arrays based on a matvec acting on npc Arrays.

NpcLinearOperator()

Prototype for a Linear Operator acting on Array.

NpcLinearOperatorWrapper(orig_operator)

Base class for wrapping around another NpcLinearOperator.

OrthogonalNpcLinearOperator(orig_operator, ...)

Replace H -> P H P with the projector P = 1 - sum_o |o> <o|.

ShiftNpcLinearOperator(orig_operator, shift)

Represents original_operator + shift * identity.

SumNpcLinearOperator(orig_operator, ...)

Sum of two linear operators.

Module description

Providing support for sparse algorithms (using matrix-vector products only).

Some linear algebra algorithms, e.g. Lanczos, do not require the full representations of a linear operator, but only the action on a vector, i.e., a matrix-vector product matvec. Here we define the structure of such a general operator, NpcLinearOperator, as it is used in our own implementations of these algorithms (e.g., lanczos). Moreover, the FlatLinearOperator allows to use all the scipy sparse methods by providing functionality to convert flat numpy arrays to and from np_conserved arrays.