Are There Nontrivial Solutions to the Matrix Equation X C X^T = C?

  • Context: Undergrad 
  • Thread starter Thread starter vibe3
  • Start date Start date
  • Tags Tags
    Matrix
Click For Summary

Discussion Overview

The discussion revolves around finding nontrivial solutions to the matrix equation X C X^T = C, where C is defined as the outer product of a vector c. Participants explore the implications of this equation, its relation to the Sylvester equation, and the conditions under which solutions may exist.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants note that X = I is a trivial solution, but they seek nontrivial solutions and suggest that assuming X is invertible might help.
  • There is a discussion about whether C can be treated as a scalar or a matrix, with some arguing that it is a rank one matrix.
  • One participant mentions that the problem is underdetermined and raises questions about the nature of the solutions being sought.
  • Another participant introduces the idea of singular value decomposition (SVD) of X and discusses the relationship between singular vectors of X and the structure of C.
  • There are mentions of constraints involving the trace operation and conditions under which the singular values of the decomposed matrix must equal one.
  • A later reply suggests a specific approach for constructing a legal X by manipulating the matrix representation of C.

Areas of Agreement / Disagreement

Participants express differing views on the nature of C and the types of solutions available, indicating that multiple competing perspectives remain. The discussion does not reach a consensus on the existence or form of nontrivial solutions.

Contextual Notes

The problem is noted to be underdetermined, with various assumptions about the nature of C and the rank of matrices involved influencing the discussion. There are unresolved mathematical steps and dependencies on definitions that participants highlight.

vibe3
Messages
39
Reaction score
1
Hello, if I have some given vector c \in R^n, then I want to find solutions X \in R^{n\times n} to the following equation:
<br /> X C X^T = C<br />
where C = c c^T. Certainly X = I is a solution, but I'm looking for any nontrivial solutions. We can also assume X is invertible if that helps.

This equation seems related to the Sylvester equation. If the solution is nontrivial, I would appreciate if someone could point me in the direction of any work which has been done on this type of equation.
 
Physics news on Phys.org
vibe3 said:
Hello, if I have some given vector c \in R^n, then I want to find solutions X \in R^{n\times n} to the following equation:
<br /> X C X^T = C<br />
where C = c c^T. Certainly X = I is a solution, but I'm looking for any nontrivial solutions. We can also assume X is invertible if that helps.

This equation seems related to the Sylvester equation. If the solution is nontrivial, I would appreciate if someone could point me in the direction of any work which has been done on this type of equation.
Assume you have chosen a basis such that ##c=(1,0,\ldots,0)^T##. How many solutions do you get?
 
Isn't C then a scalar? But then ## CXX^{T} ## is a matrix and C is a scalar. Am I missing something?
 
WWGD said:
Isn't C then a scalar? But then ## CXX^{T} ## is a matrix and C is a scalar. Am I missing something?
Depends on how you write vectors, as a column or as a row: one gives a scalar and the other a rank one matrix. Either case has many solutions.
 
fresh_42 said:
Depends on how you write vectors, as a column or as a row: one gives a scalar and the other a rank one matrix. Either case has many solutions.
But how can an ## n \times n ## matrix equal a ## 1 \times 1 ## unless n=1? EDIT: Do you mean we extend the scalar C into a matrix (C,0,0,..,0)?
 
WWGD said:
But how can an ## n \times n ## matrix equal a ## 1 \times 1 ## unless n=1?
You mean if ##C## is a scalar? Then ##XCX^T=C=CI## by the usual identification of the two ones in algebras with unit. Otherwise ##\begin{bmatrix}c_1\\ \vdots \\c_n\end{bmatrix} \cdot \begin{bmatrix}c_1 & \ldots & c_n \end{bmatrix}## is a ##n \times n## matrix of rank ##1##.
 
I mean, which case do you assume then, that C is ## n \times n ## or a "scalar matrix"?
 
WWGD said:
I mean, which case do you assume then, that C is ## n \times n ## or a "scalar matrix"?

C is an n-by-n matrix of rank 1
 
  • Like
Likes   Reactions: WWGD
vibe3 said:
C is an n-by-n matrix of rank 1
Thanks, kind of reminds me of least-square problems, solved by ortho projections.
 
  • #10
It's not clear to me what kind of "solution" OP is looking for since this problem is very much underdetermined. There are some interesting underlying relations here between singular vectors of ##\mathbf X## and the structure of ##\mathbf C##, but that's about all I can add.

note: if ##\mathbf c = \mathbf 0##, any ##\mathbf X## is allowed.
- - - -
Now assume ##\mathbf c \neq \mathbf 0##. Thus ##\mathbf C = \mathbf{cc}^T## is a rank one matrix.

We can do singular value decomposition on ##\mathbf X## such that ##\mathbf X = \mathbf{U \Sigma V}^T##

For ##\mathbf{X C X}^T = \mathbf{X c} \mathbf c^T \mathbf X^T= \mathbf{cc}^T##, we know that ##\mathbf c## is given by one (or more) of the right singular vectors of ##\mathbf X## that has a singular value of 1 ##^{**}##. Why? Using the trace operation we see

##trace\big(\mathbf{cc}^T\big) = \mathbf c ^T \mathbf c = trace\big(\mathbf{X c} \mathbf c^T \mathbf X^T\big) ##

##\mathbf c ^T \mathbf c = trace\big(\mathbf{X c} \mathbf c^T \mathbf X^T\big) = trace\big(\mathbf c^T \mathbf X^T \mathbf{Xc}\big) = \mathbf c^T \mathbf X^T \mathbf{Xc} = \mathbf c^T \mathbf V \mathbf \Sigma^T \mathbf U^T \mathbf {U \Sigma V}^T \mathbf c = \mathbf c^T \mathbf V \mathbf{\Sigma}^2 \mathbf{V}^T \mathbf c = \mathbf y^T \mathbf{\Sigma}^2 \mathbf{y} = \mathbf y^T \mathbf y##

where ##\mathbf{V}^T \mathbf c := \mathbf y##, and of course ##\big \Vert \mathbf c \big \Vert_2^2 = \big \Vert \mathbf{V}^T \mathbf c \big \Vert_2^2 = \big \Vert \mathbf y \big \Vert_2^2##

- - - - - - - -
##^{**}## to be more accurate: it is possible that that the squared singular values that non-zero elements of ##\mathbf y## gets scaled by are not one-- the exact constraint we need to observe is

## \mathbf y^T \mathbf{\Sigma}^2 \mathbf{y} = \sigma_1 ^2 y_1^2 + \sigma_2^2 y_2^2 +... + \sigma_n ^2 y_n^2 = y_1^2 + y_2^2 +... + y_n^2 =\mathbf y^T \mathbf y##
- - - - - - - -

There's also a lot of flexibility in determining ##\mathbf U##. If ##\mathbf X## is full rank, you can also tease out the constraint that, ##\mathbf c ^T \mathbf c = \mathbf c^T \mathbf U \mathbf{\Sigma}^{-2} \mathbf{U}^T \mathbf c = \mathbf w^T \mathbf{\Sigma}^{-2} \mathbf w = \mathbf w^T \mathbf w##, where ##\mathbf{U}^T \mathbf c := \mathbf w##.

Losing some generality, here's one particularly easy approach for creating a legal ##\mathbf X##: write out ##\mathbf C = \mathbf {PDP}^T##, where ##\mathbf D## is the zero matrix except the top left entry is given by ##trace\big(\mathbf C\big)##. From here ensure that all values of ##y_k = 0## for ##k \geq 2##, and that ##\sigma_1 = 1##, then set ##\mathbf U := \mathbf P##.

Again, this whole thing is a very much underdetermined problem so there's a lot of different ways to approach this.
 

Similar threads

  • · Replies 33 ·
2
Replies
33
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 23 ·
Replies
23
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K