# Minimality of tensors of fixed multilinear rank

As a (very) special case of the main theorem of https://arxiv.org/abs/2007.08909, the set of $$2\times 2$$ matrices of rank $$1$$ is a minimal submanifold of $$\mathbb{R}^4$$ under the Frobenius norm. Minimal submanifolds are a mathematical model of soap films, since they locally minimize volume given a fixed boundary. A minimal submanifold can be defined by the requirement that its mean curvature vector field be everywhere vanishing. In fact, the set of all tensors of any fixed multilinear rank forms a minimal submanifold of its ambient Euclidean space, which yields $$2 \times 2$$ matrices of rank one as the special case we examine computationally in this notebook.

First, we will see a mean curvature vector field which is not everywhere vanishing. We accomplish this by examining the set of $$2 \times 2$$ matrices of rank one, whose entries are required to sum to one. This set is of interest in statistics, for example, and will not be a minimal submanifold, as we will visually see.

To begin, we use a local parametrization of the set $$\mathcal{M}$$ of matrices whose rank is one, and whose entries sum to one.

[1]:

u1,u2 = var('u1 u2')
x = vector([u1*u2, u1*(1-u2), u2*(1-u1), (1-u1)*(1-u2)])
show(x)

[1]:

[2]:

sum(x).expand()

[2]:

1


Below we calculate a basis for the tangent space of $$\mathcal{M}$$ from our local parametrization. We also calculate the Gram matrix $$G$$ in the basis coming from our local parametrization.

[3]:

v1 = derivative(x,u1)
v2 = derivative(x,u2)

a11 = derivative(v1,u1)
a12 = derivative(v1,u2)
a21 = derivative(v2,u1)
a22 = derivative(v2,u2)

G = matrix(2,2,[v1.dot_product(v1), v1.dot_product(v2), v2.dot_product(v1), v2.dot_product(v2)])
show(G)

[3]:


Below we calculate the second derivative vectors, and project them onto the normal space of $$\mathcal{M}$$.

[4]:

V2 = v2 - v2.dot_product(v1)*v1/v1.dot_product(v1) # orthogonalize our tangent space basis...

proja11 = a11 - a11.dot_product(v1)*v1/v1.dot_product(v1) - a11.dot_product(V2)*V2/V2.dot_product(V2)
proja12 = a12 - a12.dot_product(v1)*v1/v1.dot_product(v1) - a12.dot_product(V2)*V2/V2.dot_product(V2)
proja21 = a21 - a21.dot_product(v1)*v1/v1.dot_product(v1) - a21.dot_product(V2)*V2/V2.dot_product(V2)
proja22 = a22 - a22.dot_product(v1)*v1/v1.dot_product(v1) - a22.dot_product(V2)*V2/V2.dot_product(V2)


Below, the mean curvature vector $$h$$ is calculated using the inverse of the Gram matrix and the projections of the second derivative vectors onto the normal space. We print out the first entry of the vector $$h$$ to show that it is evidently nonzero. This proves that $$\mathcal{M}$$ is not a minimal submanifold.

[5]:

Ginv = G.inverse()
h = Ginv[0,0]*proja11 + Ginv[0,1]*proja12 + Ginv[1,0]*proja21 + Ginv[1,1]*proja22

entry = h[0]
print(entry.expand().full_simplify().expand()) # the only observation is that it is nonzero

16*u1^2*u2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) + 16*u1*u2^2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) - 8*u1^2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) - 40*u1*u2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) - 8*u2^2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) + 16*u1/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) + 16*u2/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9) - 6/(16*u1^4 + 32*u1^2*u2^2 + 16*u2^4 - 32*u1^3 - 32*u1^2*u2 - 32*u1*u2^2 - 32*u2^3 + 40*u1^2 + 32*u1*u2 + 40*u2^2 - 24*u1 - 24*u2 + 9)

[6]:

# special points zero mean curvature
subz = {u1:1/2, u2:1/3}
h.subs(subz)

[6]:

(0, 0, 0, 0)

[7]:

# most points have nonzero mean curvature vectors
subz = {u1:1/4, u2:1/5}
h.subs(subz)

[7]:

(-1800/3703, 5400/25921, 6600/25921, 600/25921)


Now we can take a look at the mean curvature vector field at various points along $$\mathcal{M} \subset \mathbb{R}^4$$ by projecting the entire picture onto the affine hyperplane $$P \subset \mathbb{R}^4$$ where $$P = \{ x \in \mathbb{R}^4 : \sum_{i=1}^4 x_i = 1 \}$$.

[8]:

Q,_ = matrix(RDF,4,1,[1,1,1,1]).QR() # for projecting

plt = Graphics()
N = 25
step = 1/N
for s in [0,0+step..,1]:
for t in [0,0+step..,1]:
subz = {u1:s, u2:t}
X = (Q.T*x.subs(subz))[1:4]
H = (Q.T*h.subs(subz))[1:4]
plt += point(X, color="black")
plt += arrow(X,(X+H), width=0.25)


Below there should be an interactive three-dimensional plot of the mean curvature vector field of $$\mathcal{M}$$. In case something goes wrong in your browser, we include a static picture farther below.

[9]:

show(plt, frame=False)

[9]: