.Modelica.Math.Matrices.Utilities.findLocal_tk

Information

Syntax

tk = Matrices.Utilities.findLocal_tk(Rk, Vk);

Description

Function findLocal_tk() is an auxiliary function called in iterative solver for algebraic Riccati equation based on Newton's method with exact line search like continuousRiccatiIterative
and discreteRiccatiIterative.
The function computes the local minimum of the function f_k(t_k)

f_k(t_k) = alpha_k*(1-t_k)^2 + 2*beta_k*(1-t)*t^2 + gamma_k*t^4

by calculating the zeros of the derivation d f_k/d t_k. It is known that the function f_k(t_k) has a local minimum at some value t_k_min in [0, 2].
With t_k_min the norm of the next residual of the algorithm will be minimized.
See [1] for more information

References

[1] Benner, P., Byers, R.
    An Exact Line Search Method for Solving Generalized Continuous-Time Algebraic Riccati Equations
    IEEE Transactions On Automatic Control, Vol. 43, No. 1, pp. 101-107, 1998.

See also

Matrices.Utilities.continuousRiccatiIterative
Matrices.Utilities.discreteRiccatiIterative

Interface

function findLocal_tk
  extends Modelica.Icons.Function;
  import Modelica.Math.Matrices;
  import Modelica.Math.Polynomials;
  input Real Rk[:, size(Rk, 1)];
  input Real Vk[size(Rk, 1), size(Rk, 2)];
  output Real tk;
end findLocal_tk;

Revisions


Generated at 2020-06-05T21:39:08Z by OpenModelica 1.16.0~dev-442-g2e5bc9f