2
$\begingroup$

Suppose $a,b$ are two matrices (arbitrary for now), and I have a function defined on a space of matrices, $T(x) = a x b$. This function is a linear and bounded transform on the a finite dimensional vector space of matrices, so can be represented as a matrix. Say $x$ is $m$ by $n$, then you can write $x$ as column vector of $mn$ entries (row major ordering, lets say), and work out the corresponding matrix representation for $T$, call it $M$.

Now suppose all matrices here are $n$ by $n$. So on the one hand, this is an expensive way to represent $T$, as it would take on the order of $n^6$ operations to apply in this way, vs $2 n^3$, from the definition (two $n$ by $n$ matrix-matrix mults, vs one $n^2$ by $n^2$).

So it seems that, in the space of arbitrary $n^2$ by $n^2$ matrices, there is a subset which can be represented as $x \mapsto a x b$, for some $n$ by $n$ matrices $a,b$.

So I'm wondering if there's generally a name for maps of this form, $x \mapsto a x b$, or if anyone generally has any comments. I know this looks like change of basis, but I'm thinking more generally than that. This may be a silly or ill-posed question, in which case I won't be offended if you say so :).

I'm asking because this shows up in Lagrange interpolation of functions of two (real) variables, and I'd like to know what to call the (c++) function which evaluates the transform, right now I'm calling it 'lagrange_tensor', but I'm interested generally.

Also it may be nicer to work with the transpose of $b$, so $T = x \mapsto a x b^t$. And if either $a$ or $b$ is the identity, then the matrix $M$ above has many zeros, so that's one way to see why it's an expensive representation. As a side note, the set of operators of this form is not a vector space, as $axb + cxd \not = (a+c)x(b+d).$ Actually, this probably means it's not very interesting and I just answered my own question...

thanks

$\endgroup$
5
  • $\begingroup$ Please, clarify: are $a$ and $b$ fixed, or do you want to consider all $a$ and $b$ of an appropriate size? Also, I don't see what prevents you from defining $T(x)=axc^t,$ where $c=b^t.$ $\endgroup$ Commented Jul 26, 2010 at 4:04
  • 2
    $\begingroup$ The set of all transformations of the space $R=M_{n,n}$ of $n\times n$ matrices that have the form $T(x)=axc^t$ is closed under composition and can be considered as the $(R,R)$-bimodule structure on $R$. Restricting $a$ and $c$ to be invertible yields an action of $GL_n\times GL_n$ on $M_{n,n}$ that is close to the product of the left and right regular representations. None of this has any significance on how to name some programming routine: just choose the name you like and insert a comment on the reason. $\endgroup$ Commented Jul 26, 2010 at 4:11
  • 1
    $\begingroup$ If a, b are invertible this is essentially change of basis for a bilinear pairing between two vector spaces. $\endgroup$ Commented Jul 26, 2010 at 4:19
  • $\begingroup$ Thanks for the replies. I suppose for simplicity $a$ and $b$ are fixed $n$ by $n$ matrices over some field, and $n$ is fixed. But for polynomial interpolation, these dimensions depend on the number of support points, and the number of interpolation points. It makes sense to replace $b$ by $b^t$, so the map is $x \mapsto a x b^t$. I'm not worried about naming the function so much anymore, I'm just interested in the mathematical structure. -nick maxwell $\endgroup$ Commented Jul 26, 2010 at 5:21
  • $\begingroup$ Since you are back here: thought that the name "discrete-time Sylvester operator" makes a lot of sense for the map $S:X\to X-AXB$, since a discrete-time Sylvester equation can be written $S(x)=C$, analogously with other similarly-named operator. The name with commas returns a whopping two Google results, but I think that a person working in matrix equation would understand immediately what you're talking about if you use it. $\endgroup$ Commented Apr 25, 2013 at 6:51

3 Answers 3

2
$\begingroup$

I'd go for the obvious two-sided multiplication operator. A Google search shows this has been used indeed.

$\endgroup$
1
  • $\begingroup$ Awesome, thanks. This is what I was looking for. $\endgroup$ Commented Aug 13, 2010 at 11:39
3
$\begingroup$

You might also be interested in checking out the representation of these operators with the Kronecker product and the vectorization map: $$ \operatorname{vec(AXB)}=(B^T \otimes A)\operatorname{vec}(X). $$ It is a useful notation to work with. You may find a friendly introduction on http://en.wikipedia.org/wiki/Kronecker_product .

So you could just call the operators in your set "Kronecker products matrices". Equations in the form AXB+CXD=E can be easily reduced to the Sylvester equation.

$\endgroup$
0
$\begingroup$

For $a,b,z\in Mat(n\times n)$ you have $T_{a,b}(z) = azb^\top$, $T_{a,b}\in Mat(n^2\times n^2)$. The set $H$ of all these operators is a monoid (a semigroup with unit) under multiplication, and it contains the dense group $H^o$ of all invertible ones. Note that $H$ is a quadratic cone, and through each point there are two affine subspaces (fix $b$ or fix $a$) of $\dim n^2$ inside of $H$. So this looks like a cone over a hyperboloid.

In fact the group is $GL(n)\times GL(n)/\lbrace-1,1\rbrace$ under the representation $(g,h)\mapsto M_g. M^{h^\top}= M^{h^\top}.M_g$ where $M(a,b) = a.b = M_a(b) = M^b(a)$. The set $H^o$ is the cone (without 0) through the hyperboloid $SL(n)\times SL(n) \cong \lbrace T_{a,b}: a,b \in SL(n)\rbrace$. $H$ is its closure. Can we have a nice compact equation for this hyperboloid?

Aside: We may use the inner product $Tr(x.y^\top)$ on $Mat(n\times n)$. The transpose of $T_{a,b}$ with respect to this inner product is $T_{a,b}^\top = T_{a^\top, b^\top}$. Then we can work out $Tr(T_{a,b}.T_{c,d}^\top)$ and try to express the equation for the hyperboloid in terms of that.

Edit: The mapping $T$ could be seen as a polarized version of an affine quatratic Veronese map.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .