Complex-Symmetric Matrix SVD with Matlab: Conjugate Relationship Not Seen

  • MATLAB
  • Thread starter Heavytortoise
  • Start date
  • Tags
    Matlab Svd
In summary, the columns of the right and left matrices in the singular value decomposition of a complex-symmetric matrix should be complex conjugates. However, when running experiments with Matlab, the expected relationship does not hold and the magnitudes of the elements of U and V are equal but not conjugates. This is likely due to the non-uniqueness of the svd decomposition in complex land, where unit vectors can be scaled by complex numbers of norm 1 in different ways. Further investigation on the Mathworks forum may provide a solution.
  • #1
Heavytortoise
1
0
For a square, complex-symmetric matrix ##A##, the columns of the right and left matrices ##U## and ##V## of the singular value decomposition should be complex conjugates, since for [tex]A=A^T, A\in{\mathbb C}^{N\times N}[/tex],
[tex]
A = U\Sigma V^H, A^T=(U\Sigma V^H)^T
[/tex]
so that
[tex]
U\Sigma V^H=(V^H)^T\Sigma U^T.
[/tex]
Then we have [tex]U=(V^H)^T[/tex], right? So why isn't this the case when I run a few experiments with Matlab? The magnitudes of the elements of ##U## and ##V## are equal, but they aren't conjugates. The expected relationship holds for real ##A##, where ##U## and ##V## are real-valued, but not for complex symmetric matrices. Who's screwed up here, me or Matlab?
 
Last edited by a moderator:
Physics news on Phys.org
  • #2
This question has gone a long time without being answered.

I don't have a solution to your question but some insight.

Note that the documentation for Matlab's svd() command does not mention complex valued matrices.

The command will accept complex-valued input and produce results U, Sigma, and V. And you can use U*Sigma*VT to get back the same A.

The functions like svd() in Matlab are numeric processes.

I can confirm that the open-source Octave produces similar results as Matlab.

It's likely that searching the Mathworks forum will get an answer from someone familiar with the inner workings of Matlab's svd() function.

https://www.mathworks.com/matlabcentral/content/communities.html
 
  • Like
Likes Greg Bernhardt
  • #3
I don't have Matlab available right now, but the svd decomposition is not unique. In particular the U and V define the unit vectors that are being mapped to each other, and in complex land you can scale the unit vectors on each side by complex numbers of norm 1 in an appropriate way and get another svd representation. I'm guessing this is causing the problem, the algorithm doesn't guarantee if picks a specific choice of representation.
 
  • Like
Likes Greg Bernhardt and scottdave

1. What is SVD and what is its purpose?

SVD stands for Singular Value Decomposition, which is a mathematical technique used to decompose a matrix into its constituent parts. Its purpose is to simplify complex matrix operations and make it easier to analyze and manipulate data.

2. How does SVD work?

SVD works by breaking down a matrix into three parts: U, Σ, and V. The U and V matrices contain orthonormal basis vectors that describe the column and row spaces of the original matrix, respectively. The Σ matrix is a diagonal matrix that contains the singular values of the original matrix.

3. What is the difference between SVD and PCA?

While both SVD and PCA are techniques used for data analysis, they have different purposes. SVD is used to decompose a matrix into its constituent parts, while PCA is used to reduce the dimensionality of a dataset. SVD is also more general and can be applied to any matrix, while PCA is specifically used for analyzing data with high dimensions.

4. How can I use SVD in Matlab?

In Matlab, the function "svd" is used to perform singular value decomposition. This function takes in a matrix as an input and returns the three decomposed matrices: U, Σ, and V. These matrices can then be used for further analysis or operations on the original matrix.

5. What are the applications of SVD?

SVD has various applications in fields such as signal processing, image and video compression, and data mining. It is also commonly used in machine learning algorithms, such as collaborative filtering and principal component analysis.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
1K
  • High Energy, Nuclear, Particle Physics
Replies
3
Views
545
  • Linear and Abstract Algebra
Replies
1
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
5
Views
7K
  • Math Proof Training and Practice
Replies
2
Views
2K
  • Special and General Relativity
3
Replies
78
Views
4K
Replies
4
Views
3K
  • Linear and Abstract Algebra
Replies
2
Views
1K
Replies
5
Views
2K
  • Special and General Relativity
Replies
15
Views
866
Back
Top