array6[:, 1] .> 12
совпадает с
broadcast(>, array6[:, 1], 12)
Вы можете проверить подробности того, что делает broadcast
, в своей строке документации.
Вы также можете посмотреть https://docs.julialang.org/en/latest/manual/arrays/#Array -and-Vectorized-Operators-and-Functions-1 и https://docs.julialang.org/en/latest/manual/arrays/#Broadcasting -1 разделы (включая ссылки в них) в руководстве Julia, в которых объясняется, как и почему работают такие операции.
Позвольте дать небольшой комментарий. Вы пытаетесь сравнить, используя >
вектор (один столбец матрицы array6
) и скаляр (12
). Такая операция по умолчанию плохо определена в математике, поэтому Джулия тоже не допускает ее. скаляр, имеющий размерность 0
, который вы можете проверить, написав ndims(12)
) в размер объекта с более высокой размерностью (в данном случае вектор, имеющий размерность 1
, который вы можете проверить, написав ndims(array6[:, 1])
). Распространение выполняется путем простого повторения значения 12
столько раз, сколько необходимо в целевом измерении, чтобы размеры обоих объектов совпадали (технически то, что должно совпадать после распространения, - это то, что возвращает функция axes
). Затем, если у вас есть два объекта одинакового размера, функция >
применяется к каждому совпадающему элементу обоих объектов.