# Problem using kron in Convex

Hello I am sort of a beginner with Julia so not sure if I am missusing Convex.

I am running a fresh install of Julia 0.52 and cloned the most recent version of Convex.

It appears that the object kron returns have different sizes depending on the order of the arguments.

Let me define two matrices:
X = [0 0;0 0];
Y = Variable(2,2);

If I investigate what kron does depending on the arguments I get the following:
kron(X,Y)
AbstractExpr with
size: (4, 4)
sign: Convex.NoSign()
vexity: Convex.AffineVexity()

kron(Y,X)
AbstractExpr with
size: (2, 2)
sign: Convex.NoSign()
vexity: Convex.AffineVexity()

I care about this because I would like to take the trace of the resulting matrix multiplied with a third matrix Z:

Z = [0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0];

Then depending on the order of kron, the multiplication is well defined or I get an error:

## Example OK:

trace(Z * kron(X, Y));

## Example NOK:

trace(Z * kron(Y, X));
Cannot multiply two expressions of sizes (4,4) and (2,2)