I'm using scipy.linalg.eig to calculate the eigenvalues and eigenvectors of a matrix. The eigenvectors come out already normalized automatically, with respect to the standard inner product. In other words it gives eigenvectors such that:
\sum_{i} v_{i}^{2}=1
I want python to use a vector of weights, that I supply, to normalize the eigenvectors. In other words, I want it to use an inner product according to a weighting function that I supply (really a vector of weight values rather than a function), rather than the standard inner product. That is, I want python to give me eigenvectors such that:
\sum_{i} v_{i}^{2}*w_{i}=1
Thus also any matrix elements I would calculate with these eigenvectors would come out right only if I included the weights.
I've searched the documentation of scipy.linalg.eig for such an option and haven't found it, but it seems like something that someone before me would have wanted to do. Is there a way?