Как заставить scipy.linalg.eig использовать для нормализации взвешенный внутренний продукт?

Я использую scipy.linalg.eig для вычисления собственных значений и собственных векторов матрицы. Собственные векторы выходят уже нормализованными автоматически по отношению к стандартному внутреннему произведению. Другими словами, это дает собственные векторы, такие что:

\ sum_ {i} v_ {i} ^ {2} = 1

Я хочу, чтобы python использовал вектор весов, который я предоставляю, для нормализации собственных векторов. Другими словами, я хочу, чтобы он использовал внутренний продукт в соответствии с весовой функцией, которую я предоставляю (на самом деле это вектор весовых значений, а не функция), а не стандартный внутренний продукт. То есть я хочу, чтобы python дал мне собственные векторы, такие что:

\ sum_ {i} v_ {i} ^ {2} * w_ {i} = 1

Таким образом, любые матричные элементы, которые я бы рассчитал с этими собственными векторами, были бы правильными, только если бы я включил веса.

Я искал документацию scipy.linalg.eig для такой опции и не нашел ее, но похоже что-то, что кто-то до меня хотел бы сделать. Есть ли способ?

0 ответов

Другие вопросы по тегам