-
Notifications
You must be signed in to change notification settings - Fork 141
Description
Hi @cameronphchen sorry for bothering you.
We were reading this line of code of adding a small diagonal term to the product (Line 595-597)
brainiak/brainiak/funcalign/srm.py
Line 596 in ee09359
| np.fill_diagonal(perturbation, 0.001) |
It is a bit confusing to us what is the purpose of this term. I am guessing that it serves some purpose for numerical stability. But it seems that a_subject is not a square matrix, but rather with the same of n_voxels * n_features. Because the voxels are not necessarily ordered in a meaningful way, the diagonal matrix of 0.001 will only impact some of the voxles but not all. So I wonder whether this addition is actually necessary. Of course, it is a small term which might not impact the result in any way. But maybe the code can work without it?
Thanks!