Skip to content

Implement complex full non-square and diagonal complex uncertainty blocks - #49

Merged
sdahdah merged 11 commits into
mainfrom
39-implement-non-square-uncertainty-blocks
Sep 22, 2025
Merged

sdahdah merged 11 commits into
mainfrom
39-implement-non-square-uncertainty-blocks

Conversation

@timeverettadams

Copy link
Copy Markdown
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

@sdahdah sdahdah left a comment

Copy link
Copy Markdown
Member

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

Comment thread src/dkpy/uncertainty_structure.py Outdated
Comment thread src/dkpy/structured_singular_value.py Outdated
Comment thread src/dkpy/structured_singular_value.py
Comment thread src/dkpy/dk_iteration.py Outdated
Comment thread src/dkpy/dk_iteration.py Outdated
Comment thread examples/6_dk_iteration_airframe.py Outdated
Comment thread examples/6_dk_iteration_airframe.py Outdated
Comment thread examples/6_dk_iteration_airframe.py Outdated
@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

2 participants