У меня есть данные ячейки F, которые представляют собой массив матриц 3x3. Как я могу рассчитать sqrt (собственные значения матриц F * F.T), а затем добавить эти новые данные ячейки?
Обновление 1: это мой код. Не работает из-за строки
C = F.Arrays[0] * F.Arrays[0].T
Как я могу решить это?
import numpy as np
import vtk
from vtk.numpy_interface import dataset_adapter as da
from paraview.numpy_support import vtk_to_numpy
from paraview.vtk.numpy_interface import algorithms
from paraview.vtk.numpy_interface.algorithms import sqrt as sqrt
from paraview.vtk.numpy_interface.algorithms import eigenvalue as eigenvalue
# This is a VTKCompositeDataArray
F = inputs[0].GetCellData().GetArray('F')
# Of course it does not work! Error:
# ValueError: operands could not be broadcast together
# with shapes (60,3,3) #(3,3,60)
# How to solve it?
C = F.Arrays[0] * F.Arrays[0].T
Eigs = sqrt(eigenvalue(C))
output.CellData.append(Eigs, "EigenValues")