Open arvoelke opened 8 years ago
Also implemenet/document sphere versus cube, and relationship to correlation between states and shared worst-case inputs.
Also see #50.
Really, all of the normalizers should be wrappers that invoke some method that returns a similarity transformation. This would be the most general way of giving the user an understanding of how things have changed (i.e., the change of the basis) which they should know in order to understand the encoding. Scaling by a radii vector is a diagonal transform. Scaling each dimension by the same radius can (and should?) be abstracted away and done separately.
The above could also be used in the following way: apply the similarity transform T to F obtained by normalizing F*H for some input filter H that corresponds to a transfer function from full-spectrum white noise to a typical input signal for example.
After #103 it is harder to do controllable/observable as a realizer
(formerly as a normalizer
), but this is a nonissue because you can just pass sys.controllable
to the LinearNetwork
for example. Documentation in the notebook is the main thing that is lacking.
ControllableObservableLinearNetwork
notebook