Iterative

class sharpy.rom.balanced.Iterative[source]

Find balanced realisation of DLTI system.

Notes

Lyapunov equations are solved using iterative squared Smith algorithm, in its low or full rank version. These implementations are as per the low_rank_smith and smith_iter functions respectively but, for computational efficiency, the iterations are rewritten here so as to solve for the observability and controllability Gramians contemporary.

  • Exploiting sparsity:

    This algorithm is not ideal to exploit sparsity. However, the following strategies are implemented:

    • if the A matrix is provided in sparse format, the powers of A will be calculated exploiting sparsity UNTIL the number of non-zero elements is below 15% the size of A. Upon this threshold, the cost of the matrix multiplication rises dramatically, and A is hence converted to a dense numpy array.

The settings that this solver accepts are given by a dictionary, with the following key-value pairs:

Name

Type

Description

Default

lowrank

bool

Use low rank methods

True

smith_tol

float

Smith tolerance

1e-10

tolSVD

float

SVD threshold

1e-06