Просто добавьте C_abs
с его transposed version
-
G = C_abs + C_abs.T
Чтобы понять, посмотрите на вычислительные частях коды:
G[i,j] = C_abs[i,j]+C_abs[j,i]
Первый вход на правой стороне находится C_abs[i,j]
, который имеет те же самые итераторы, что и на левой стороне задания - G[i,j]
. Итак, для векторизованного решения мы будем использовать его без изменений в качестве первого ввода. Второй вход с правой стороны - C_abs[j,i]
, и его итераторы перевернуты версией итераторов с левой стороны - G[i,j]
. Этот щелчок во всем контексте массива будет транспонировать C_abs
. Поэтому, собрав вместе, мы добавим C_abs
со своей собственной транспонированной версией, чтобы получить желаемый результат в векторном виде.
Как этот код работает, если d