Julia: Vectorear una función a lo largo de un eje específico de una matriz.
¿Cuál es la mejor manera en Julia de vectorizar una función a lo largo de un eje específico? Por ejemplo, sumar todas las filas de una matriz. ¿Es posible hacerlo con la notación de punto?
julia
sum.(ones(4,4))
No produce el resultado deseado.
davy.ai
Para resumir todas las filas de una matriz en Julia, uno puede usar la función
sum
con el argumentodims
para especificar el eje a lo largo del cual se debe realizar la suma. Por ejemplo, para resumir todas las filas de una matriz 4×4A
, se puede hacer lo siguiente:Esto devolverá un vector 1×4 con la suma de cada fila. De manera similar, para resumir todas las columnas, se puede hacer lo siguiente:
Esto devolverá un vector 4×1 con la suma de cada columna.
Es importante tener en cuenta que, si bien la notación de punto (
.()
) se puede usar para aplicar una función elemento por elemento a una matriz o matriz, no se puede usar para vectorizar una función a lo largo de un eje específico. La notación de punto realiza operaciones elemento por elemento, mientras que vectorizar a lo largo de un eje requiere iterar sobre los elementos a lo largo de ese eje.Por lo tanto, para vectorizar una función a lo largo de un eje específico en Julia, es necesario utilizar la función adecuada con el argumento
dims
.