Going back from a correlation matrix to the original matrix I have N sensors which are been sampled M times, so I have an N by M readout matrix. If I want to know the relation and dependencies of these sensors simplest thing is to do a Pearson's correlation which gives me an N by N correlation matrix. 
Now let's say if I have the correlation matrix but I want to explore tho possible readout space that can lead to such correlation matrix what can I do? 
So the question is: given an N by N correlation matrix how you can get to a matrix that would have such correlation matrix?
Any comment is appreciated. 

You could make your "10%" implementation faster by using gradient descent
Here's an example of doing it for covariance matrix because it's easier.
You have $k\times k$ covariance matrix C and you want to get $k \times n$ observation matrix $A$ that produces it.
The task is to find $A$ such that
$$A A' = n^2 C$$
You could start with a random guess for $A$ and try to minimize the sum of squared errors. Using Frobenius norm, we can write this objective as follows
$$J=\|A A'-n^2 C\|^2_F$$
Let $D$ be our matrix of errors, ie $D=A A'-n^2 C$.
Checking with the Matrix Cookbook I get the following for the gradient
$$\frac{\partial J}{\partial a_{iy}} \propto a_{iy} \sum_j D_{i,j}$$
In other words, your update to data matrix for sensor $i$, observation $y$ should be proportional to the sum of errors in $i$th row of covariance matrix multiplied by the value of $i,y$'th observation.
Gradient descent step would be to update all weights at once. It might be more robust to update just the worst rows, ie calculate sum of errors for every row, update entries corresponding to the worst rows, then recalculate errors.
