Kreizhn
- 714
- 1
Hopefully this is a simple enough question.
Let (M,g) be a matrix Riemannian manifold and [itex]f: M \to \mathbb R[/itex] a smooth function. Take [itex]p \in M[/itex] and let [itex]\{ X_1,\ldots, X_n \}[/itex] be a local orthonormal frame for a neighbourhood of p. We can define a gradient of f in a neighbourhood of p as
[tex]\nabla f = \sum_{i=1}^n X_i f X_i[/tex]
Now in my situation, I'm actually trying to compute this is a local coordinate system. Let [itex]\{ x^{jk} \}[/itex] be a local coordinate system and write [itex]X_i = a_i^{jk} \frac{\partial}{\partial x^{jk}}[/itex]. Then our gradient, evaluated at (for simplicity) p becomes
[tex]\begin{align*}<br /> (\nabla f)_p &= \sum_{i=1}^n \underbrace{\left( a_i^{jk} \left.\frac{\partial}{\partial x^{jk}}\right|_p \right)}_{X_i} f \underbrace{\left(a_i^{mn} \left.\frac{\partial}{\partial x^{jk}}\right|_p\right)}_{X_i} \\<br /> &= \sum_{i=1}^n a_i^{jk} a_i^{mn} \frac{\partial f}{\partial x^{jk}}(p) \left.\frac{\partial}{\partial x^{jk}}\right|_p<br /> \end{align*}[/tex]
Now we know that [itex](X_i f)(p) = X_i(p) f \in \mathbb R[/itex] if we use the derivation definition of tangent vectors. But this term simply corresponds to
[tex]a_i^{jk} \frac{\partial f}{\partial x^{jk}}(p) \in \mathbb R[/tex]
Now here is my problem. Let's take [itex]M = U(N)[/itex] the unitary group of dimension N, and [itex]f(p) = \text{tr}[y^\dagger p]\text{tr}[p^\dagger y ][/itex]
for some [itex]y \in U(N)[/itex]. We know that [itex]f(p) \in \mathbb R[/itex] since [itex]\langle y,p \rangle = \text{tr}[y^\dagger p ][/itex] is just the Hilbert-Schmidt inner-product, so f(p) is nothing more that [itex]f(p) = |\langle y,p \rangle|^2.[/itex]. But when I compute the terms
[tex]a_i^{jk} \frac{\partial f}{\partial x^{jk}}(p)[/tex]
I get values in [itex]\mathbb C[/itex]. In fact, I can't see any reason why this HAS to be in [itex]\mathbb R[/itex]. Did I just make a silly mistake?
Let (M,g) be a matrix Riemannian manifold and [itex]f: M \to \mathbb R[/itex] a smooth function. Take [itex]p \in M[/itex] and let [itex]\{ X_1,\ldots, X_n \}[/itex] be a local orthonormal frame for a neighbourhood of p. We can define a gradient of f in a neighbourhood of p as
[tex]\nabla f = \sum_{i=1}^n X_i f X_i[/tex]
Now in my situation, I'm actually trying to compute this is a local coordinate system. Let [itex]\{ x^{jk} \}[/itex] be a local coordinate system and write [itex]X_i = a_i^{jk} \frac{\partial}{\partial x^{jk}}[/itex]. Then our gradient, evaluated at (for simplicity) p becomes
[tex]\begin{align*}<br /> (\nabla f)_p &= \sum_{i=1}^n \underbrace{\left( a_i^{jk} \left.\frac{\partial}{\partial x^{jk}}\right|_p \right)}_{X_i} f \underbrace{\left(a_i^{mn} \left.\frac{\partial}{\partial x^{jk}}\right|_p\right)}_{X_i} \\<br /> &= \sum_{i=1}^n a_i^{jk} a_i^{mn} \frac{\partial f}{\partial x^{jk}}(p) \left.\frac{\partial}{\partial x^{jk}}\right|_p<br /> \end{align*}[/tex]
Now we know that [itex](X_i f)(p) = X_i(p) f \in \mathbb R[/itex] if we use the derivation definition of tangent vectors. But this term simply corresponds to
[tex]a_i^{jk} \frac{\partial f}{\partial x^{jk}}(p) \in \mathbb R[/tex]
Now here is my problem. Let's take [itex]M = U(N)[/itex] the unitary group of dimension N, and [itex]f(p) = \text{tr}[y^\dagger p]\text{tr}[p^\dagger y ][/itex]
for some [itex]y \in U(N)[/itex]. We know that [itex]f(p) \in \mathbb R[/itex] since [itex]\langle y,p \rangle = \text{tr}[y^\dagger p ][/itex] is just the Hilbert-Schmidt inner-product, so f(p) is nothing more that [itex]f(p) = |\langle y,p \rangle|^2.[/itex]. But when I compute the terms
[tex]a_i^{jk} \frac{\partial f}{\partial x^{jk}}(p)[/tex]
I get values in [itex]\mathbb C[/itex]. In fact, I can't see any reason why this HAS to be in [itex]\mathbb R[/itex]. Did I just make a silly mistake?