largest uncorrelated set in a correlation matrix

2 views (last 30 days)
I have a large correlation matrix (1000x1000) and I want to find the largest uncorrelated set(s) from the matrix. The matrix contains only ones and zeros, and all the diagonal elements are ones, since this is a correlation matrix. The matrix is also symmetric.
I have provided an example correlation matrix for illustration (A to W) and the intended output matrix (X's).
So far my approach, which doesn't scale well for large correlation matrices:
1) Start with A and loop through A to W and find all the uncorrelated 2x2 sets.
2) Repeat step one now starting with B and loop through A to W, and so on...
3) With steps 1&2, I have all the 2x2 uncorrelated sets.
4) Now for each 2x2 uncorrelated set, loop though A to W again and find the 3x3 uncorrelated sets.
5) For each uncorrelated 3x3 set, loop though A to W to find the 4x4 uncorrelated sets.
6) Repeat this process till you find the largest uncorrelated set(s) -- X1, X2, X3,...
Obviously, this is a brute force approach, and doesn't scale well with higher dimension matrices. I would appreciate it if anyone could point me in the right direction to solve this problem efficiently in MATLAB.

Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!