1 namespace dscomponents{
84 this =
this@general.AffParamMatrix;
85 this =
this@dscomponents.ACoreFun(sys);
131 if ~isempty(mu) && ~this.TimeDependent
132 this.cachedA= this.
compose(0, mu);
138 error(
" This method should never be called. ");
170 error(
" need to update. ");
171 a = this.AffParamMatrix;
173 for idx=1:length(this.Coefficients)
174 cfun = this.Coefficients[idx];
175 c = c + abs(
cfun(t,mu)) * norm(a.Matrices(:,:,idx));
190 proj =
project@dscomponents.ACoreFun(
this, V, W, proj);
191 proj =
project@general.AffParamMatrix(
this, V, W, proj);
192 proj.JSparsityPattern= [];
199 if isempty(this.
xDim)
202 if isempty(this.
fDim)
206 addMatrix@general.AffParamMatrix(
this, coeff_fcn, mat);
220 if ~this.TimeDependent
223 fprintf(
" AffLinCoreFun: Guessed time-dependency to %d.\n ",this.
TimeDependent);
241 prod =
mtimes@general.AffParamMatrix(
this, other);
253 diff =
minus@general.AffParamMatrix(
this, other);
265 sum =
plus@general.AffParamMatrix(
this, other);
277 transp =
ctranspose@general.AffParamMatrix(
this);
289 function postprocess() {
306 copy = dscomponents.AffLinCoreFun(this.
System);
307 copy =
clone@general.AffParamMatrix(
this, copy);
308 copy =
clone@dscomponents.ACoreFun(
this, copy);
function transp = ctranspose()
Implements the default transposition method.
function fx = evaluateCoreFun()
This method will never be called as evaluate is overridden directly for performance. this is possible as AffLinCoreFuns have both CustomProjection and MultiArgumentEvaluations.
integer fDim
The current output dimension of the function.
CustomProjection
Set this property if the projection process is customized by overriding the default project method...
logical TimeDependent
Flag that indicates if the ACoreFun is (truly) time-dependent.
function addMatrix(string coeff_fcn,matrix< double > mat)
Adds a new matrix to the affine-linear core function.
function c = getGlobalLipschitz(double t,colvec< double > mu)
Implementation of the interface method from IGlobalLipschitz.
function diff = minus(other)
Implements the default subtraction method.
function proj = project(V, W)
handle cfun
coefficient function handle as specified by funStr
function prepareSimulation(colvec< double > mu)
Basic interface for all dynamical system's core functions Inherits the AProjectable interface...
integer xDim
The current state space dimension of the function's argument .
function prod = mtimes(other)
Implements the default multiplication method.
models.BaseFirstOrderSystem System
The system associated with the current ACoreFun.
V
The matrix of the biorthogonal pair .
colvec< double > mu
The current model parameter mu for evaluations. Will not be persisted as only valid for runtime durin...
function M = compose(t, mu)
Composes the affine-linear combination of matrices for given time and parameter .
function fx = evaluate(colvec< double > x,double t)
Evaluates affine-linear core function by matrix-vector multiplication.
rowvec< integer > dims
dimension of the matrices
sparse< logical > JSparsityPattern
Sparsity pattern for the jacobian matrix.
char CoeffClass
Export setting. Java class name for JKerMor model export.
function J = getStateJacobian(unused1,double t)
Overrides the default jacobian finite difference implementation. Jacobian of linear operator is the o...
function [ n , m ] = size(dim)
Implementation of ABlockedData.size.
function sum = plus(other)
Implements the default addition method.
IGLOBALLIPSCHITZ Interface for all functions that have a global lipschitz constant for the state/spat...
function fx = evaluateMulti(colvec< double > x,double t,colvec< double > mu)
Global configuration class for all KerMor run-time settings.
General time/parameter-affine matrix.
static function KerMor theinstance = App()
The singleton KerMor instance.
W
The matrix of the biorthogonal pair .
A MatLab character array.
integer N
The number of affine matrices / size of the linear combination.
AffLinCoreFun(sys)
Creates a new instance of the AffLinCoreFun.
Simple affine-linear core function "f" for a dynamical system.