multivariate Loewner Framework
  • GitHub

API (function list)

Main function: mlf.alg1

Description
Constructs a rational approximant (in the barycentrig form) following the direct method (Algorithm 1), directly from data using:
[g,iloe] = mlf.alg1(tab,p_c,p_r{,opt});
Inputs arguments
  • tab: $n$-dimensional matrix array (tensor) of dimension $(k_1+q_1)\times \cdots \times (k_n+q_n)$, with double entries (complex or real). It denotes the $n$-dimensional tensor $\mathbf{tab}_n$ or $\mathcal T_n^{\otimes}$.
  • p_c: $n$-dimensional cell, where each entry $l=1,\cdots,n$ is a vectors of dimension $1\times k_l$ with double entries (complex or real). It denotes the column interpolation points $P_c^{(n)}$.
  • p_r: $n$-dimensional cell, where each entry $l=1,\cdots,n$ is a vectors of dimension $1\times q_l$ with double entries (complex or real). It denotes the row interpolation points $P_r^{(n)}$.
Outputs arguments
  • g: handle function, reproducing the rational approximatant $$ g(x_{1},\cdots,x_{n}) = \dfrac{\sum_{j_1=1}^{k_1}\cdots\sum_{j_n=1}^{k_n}\dfrac{c(j_1,\cdots,j_n)w(j_1,\cdots,j_n)}{(x_{1}-\lambda_{1}(j_1))\cdots(x_{n}-\lambda_{n}(j_n2))}}{\sum_{j_1=1}^{k_1}\cdots\sum_{j_n=1}^{k_n} \dfrac{c(j_1,\cdots,j_n)}{(x_{1}-\lambda_{1}(j_1))\cdots(x_{n}-\lambda_{n}(j_n))}} $$
  • iloe: structure information fields.
Optional arguments opt, structure with the following fields:
  • method: string defining the method used: 'rec' for recursive (default) or 'full' for full Loewner nullspace computation.
  • method_null: string defining the nullspace computation method used: 'svd' for SVD (default), 'qr' for QR or 'mldivide' for linear equation resolution.
  • ord_tol: positive double $< 1$ defining the relative singular value threshold in the single variable order dertection.
  • ord_obj: vector of dimension $1 \times n$ with positive integer entries defining the order along ench variables; [] or inf*ones(1,n) (default).
  • ord_N: vector of dimension $1 \times n$ with positive interger entries defining the number of univariate 1-D Loewner matrix computation used to estimate the order along each variable; 5*ones(1,n) (default).
  • ord_show: logical used to display the 1-D normalized singular value decay and order selection; false (default).
  • data_min: logical used to use minimal number of values; false (default).

Tensor construction: mlf.make_tab_vec & mlf.vec2mat

Description
Constructs a rational approximant (in the barycentrig form) following the direct method (Algorithm 1) , directly from data using:
[y,x,dim] = mlf.make_tab_vec(H,p_c,p_r);
tab       = mlf.vec2mat(y,dim);
Inputs arguments
  • H: $n$-dimensional handle function of the type H=@(x) x(:,1) + x(:,2).
  • p_c: $n$-dimensional cell, where each entry $l=1,\cdots,n$ is a vectors of dimension $1\times k_l$ with double entries (complex or real). It denotes the column interpolation points $P_c^{(n)}$.
  • p_r: $n$-dimensional cell, where each entry $l=1,\cdots,n$ is a vectors of dimension $1\times q_l$ with double entries (complex or real). It denotes the row interpolation points $P_r^{(n)}$.
Output arguments
  • y: vector $N\times 1$ with double entries, defining the output of all combinations of interpolation points ($N=k_1q_1\cdots k_nq_n$).
  • x: vector $N\times n$ with double entries, defining the interpolation points combinations.
  • dim: vector $1\times n$, where each integer entry $l=1,\cdots,n$ is the dimension $k_lq_l$ along the $l$-th variable.

Decoupling: mlf.decoupling (needs symbolic toolbox)

Description
Constructs the univariate vector functions achieving the decoupling as in the Kolmogorov superposition theorem, directly from information data comming from the th recursive computation:
[Bary,Lag,Cx] = mlf.decoupling(iloe);
Inputs arguments
  • iloe: structure information field, given by mlf.alg1 if opt.method='rec' is selected.
Output arguments
  • Bary: cell $1\times n$, each embedding a vector of the univariate barcentric weights.
  • Lag: cell $1\times n$, each embedding a vector of the univariate Lagrangian basis.
  • Cx: structure including the recursive interpolation points and nullspaces.
  • charles.poussot-vassal [at] onera.fr

Menu

  • mLF in a nushell
  • Getting started
  • API
  • Examples
  • Loewner community
    • Get familiar with Loewner
    • References