コレスキー分解をインプレースで実行しようとしていますが、その機能が実際にscipyに実装されていないか、理解できないことがあります。後者の場合に備えて、ここに投稿します。これが私がしていることの簡単な例です:
import numpy
import scipy.linalg
numpy.random.seed(0)
X = numpy.random.normal(size=(10,4))
V = numpy.dot(X.transpose(),X)
R = V.copy()
scipy.linalg.cholesky(R,False,overwrite_a=True)
print V
print R
Rが上三角行列で上書きされるとどうなるかと思います。ただし、このコードを実行すると、VとRは同じになります(コレスキーはRを上書きしません)。私はoverwrite_aの目的を誤解していますか、それとも他の間違いを犯していますか?これがscipyの単なるバグである場合、Pythonでコレスキー分解をインプレースで実行できる回避策または別の方法はありますか?