Skip to content

Conversation

@timeverettadams
Copy link
Contributor

Resolves #39 and #36

Proposed Changes

  • Use left- and right- D-scales of different dimensions in order to allow for the use of generalized plants that have different numbers of exogenous inputs and outputs
  • Implement complex diagonal blocks by generating a full block D-scale variable in the structured singular value computation and D-scale fit.
  • Add an example of the control of lateral aircraft dynamics that is for a non-square generalized plant and demonstrate how to simulate the closed-loop system of a set of perturbed systems.
  • Update the behavior of the structured singular value computation and D-scale fit to ensure that block_structure = None implies that it is a complex full block (i.e., D-scales should be identity).

Checklist

  • Write unit tests
  • Write examples in docstrings (only updated previous examples to work with new D-scale structure)
  • Update Sphinx documentation
  • Bump version number and date in pyproject.toml, doc/conf.py,
    README.rst, and CITATION.cff.

@timeverettadams timeverettadams self-assigned this Sep 10, 2025
@timeverettadams timeverettadams linked an issue Sep 10, 2025 that may be closed by this pull request
Copy link
Member

@sdahdah sdahdah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome, thanks @timeverettadams

@sdahdah sdahdah merged commit 4719e2c into main Sep 22, 2025
4 checks passed
@sdahdah sdahdah deleted the 39-implement-non-square-uncertainty-blocks branch September 22, 2025 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement non-square uncertainty block

3 participants