function
LinearAlgebra.transformCovariance
Covariance under a linear map
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | transform | Real | [:, :] | |
| input | covariance | Real | [size(transform, 2), size(transform, 2)] | |
| output | transformedCovariance | Real | [size(transform, 1), size(transform, 1)] |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function transformCovariance "Covariance under a linear map"
input Real transform[:, :];
input Real covariance[size(transform, 2), size(transform, 2)];
output Real transformedCovariance[size(transform, 1), size(transform, 1)];
protected
Real product[size(transform, 1), size(transform, 2)];
algorithm
product := transform * covariance;
transformedCovariance := product * transpose(transform);
annotation(Inline=false);
end transformCovariance;