You are here

Routine linconv

Transform a linear criterion.

Description

This routine computes the row vector A such that the linear term u*delta*v is transformed into A*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

A=linconv(u,v,blk)

Input arguments

u Row vector.
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

A Row vector such that u*delta*v=A*xi.

Example

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

See also

quadconv
delta2xi
xi2delta