You are here

Routine quadconv

Transform a quadratic criterion.

Description

This routine computes the matrix H such that the quadratic term v'*delta'*delta*v is transformed into xi'*H*xi, where xi and delta are the vector form and the matrix form of a block-diagonal operator $\Delta$ respectively, i.e. xi=delta2xi(delta,blk).

Syntax

H=quadconv(v,blk)

Input arguments

v Column vector.
blk Matrix defining the structure of the block-diagonal operator $\Delta=diag\left(\Delta_1,...,\Delta_N\right)$. Its first 2 columns must be defined as follows for all $i=1,...,N$:

  • blk(i,1:2)=[-ni 0] $\Rightarrow$ $\Delta_i=\delta_iI_{n_i}$ with $\delta_i$ real,
  • blk(i,1:2)=[ni 0] $\Rightarrow$ $\Delta_i=\delta_iI_{n_i}$ with $\delta_i$ complex,
  • blk(i,1:2)=[ni mi] $\Rightarrow$ $\Delta_i$ is a full $n_i\times m_i$ complex block.

Output argument

H Matrix such that v'*delta'*delta*v=xi'*H*xi.

Example

blk=[-3 0;2 0;2 3];
v=rand(8,1)+j*rand(8,1);
H=quadconv(v,blk);
xi=(1:15)';
delta=xi2delta(xi,blk);
v'*delta'*delta*v-xi'*H*xi

See also

linconv
delta2xi
xi2delta