Можно ли транслировать linalg.inv в массивы высшего порядка в Numpy v.1.6.2? - PullRequest
0 голосов
/ 01 октября 2018

Я использую NumPy для расчетов в Abaqus FEA.У меня есть тензор жесткости размеров (узлы, элементы, время, 6,6), и я рассчитываю вычислить тензор соответствия (обратный тензор жесткости) для каждого узла / элемента / времени.

Это было простокогда я работал в numpy v.1.14.3, так как linalg.inv транслируется:

self.compliance_matrix = numpy.linalg.inv(self.stiffness_matrix)

Но Abaqus numpy - это версия 1.6.2, которая не допускает трансляцию.Я попытался следующий обходной путь, который отлично работает в v.1.14.3, но это все равно выдает ошибку в v.1.6.2:

self.compliance_matrix = numpy.array(map(lambda n: numpy.linalg.inv(n), self.stiffness_matrix))

LinAlgError: 4-dimensional array given. Array must be two-dimensional

Нет проблем для трансляции в 3D-массив, но кроме этого вызываетпроблемы.Есть ли какой-нибудь простой способ сделать это, что мне не хватает?

...