Каков эффективный способ извлечь собственные значения из матричных элементов 3x3, хранящихся в массиве Numpy` 6xn `numpyPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Каков эффективный способ извлечь собственные значения из матричных элементов 3x3, хранящихся в массиве Numpy` 6xn `numpy

Сообщение Anonymous »

Учитывая матрицу 3 x 3 s (тензор механического напряжения) формы

Код: Выделить всё

    | sxx sxy szx |
S = | sxy syy syz |
| szx syz szz |
< /code>
Я могу получить 3 собственных значений (основные напряжения) от < /p>
import numpy as np

S = np.array([[sxx, sxy, szx],
[sxy, syy, syz],
[szx, syz, szz]])

e_val, e_vec = np.linalg.eig(S)

principal_stress = np.sort(e_val)  # 3 principal components sorted from min to max

# with sxx=100, syy=-50, sxy=75, szz=szx=syz=0 the result is
# (-81.07, 0.0, 131.07)
< /code>

Теперь у меня есть большой 2D массив, в котором каждый столбец содержит 6 элементов
(sxx
, syy , szz , sxy , szx , syz ) для любой заданной «точка интереса (poi)».
Может быть сотни тысяч столбцов (если не миллионы) в этой массиве ...

Код: Выделить всё

            |  sxx_1  sxx_2  ...  sxx_n  |
|  syy_1  syy_2  ...  syy_n  |
S_by_poi =  |  szz_1  szz_2  ...  szz_n  |
|  sxy_1  sxy_2  ...  sxy_n  |
|  szx_1  szx_2  ...  szx_n  |
|  syz_1  syz_2  ...  syz_n  |
< /code>
Что было бы самым быстрым способом вычисления 3 собственных значений, сортировать их и поместить в массив
P
, как это:

Код: Выделить всё

            |  pmin_1  pmin_2  ...  pmin_n  |
P_by_poi =  |  pmid_1  pmid_2  ...  pmid_n  |
|  pmax_1  pmax_2  ...  pmax_n  |
Могу ли я каким -то образом избежать цикла по столбцам s в Python? Это не кажется хорошим или исполнительным решением ...

Подробнее здесь: https://stackoverflow.com/questions/727 ... nts-stored
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Линейный поиск в массиве 3x3 с использованием рекурсии
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Линейный поиск в массиве 3x3 с использованием рекурсии
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Линейный поиск в массиве 3x3 с использованием рекурсии
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Оптимизация большого количества матричных умножений из столбцов данных.
    Гость » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Гость
  • Чем карта L20 отличается от V100 с точки зрения матричных операций на ЦП? [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»