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