# 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

quadconv
delta2xi
xi2delta