markovmodel / PyEMMA

🚂 Python API for Emma's Markov Model Algorithms 🚂
http://pyemma.org
GNU Lesser General Public License v3.0
307 stars 118 forks source link

tICA orthogonality #540

Closed euhruska closed 9 years ago

euhruska commented 9 years ago

are the eigenvectors of tICA intended to be orthogonal? I get a non-zero dot product around 0.06:

a=np.array(tica_obj.eigenvectors)
np.dot(a[:,0]/np.linalg.norm(a[:,0]),a[:,1]/np.linalg.norm(a[:,1]))
franknoe commented 9 years ago

No, they aren't supposed to be orthogonal. TICA solves a generalized eigenvalue problem, so they are only orthogonal with respect to the covariance matrix used as a weight matrix.

Am 31/08/15 um 22:03 schrieb euhruska:

are the eigenvectors of tICA intended to be orthogonal? I get a non-zero dot product around 0.06: """ a=np.array(tica_obj.eigenvectors) np.dot(a[:,0]/np.linalg.norm(a[:,0]),a[:,1]/np.linalg.norm(a[:,1])) """

— Reply to this email directly or view it on GitHub https://github.com/markovmodel/PyEMMA/issues/540.


Prof. Dr. Frank Noe Head of Computational Molecular Biology group Freie Universitaet Berlin

Phone: (+49) (0)30 838 75354 Web: research.franknoe.de

Mail: Arnimallee 6, 14195 Berlin, Germany

franknoe commented 9 years ago

See our TICA paper, suppl. inf, p. 3 bottom. < u_i | C(0) | u_j > = delta_ij, where u_i and u_j are TICA eigenvectors and C(0) is the PCA covariance matrix.