¿Utiliza un vector de droga para acceder a cortes axiales arbitrarios de una matriz multidimensional?

Estoy construyendo un conjunto de funciones para trabajar con unestructura de datos de matriz multidimensional y quiero poder definir arbitrariamenterebanadas de las matrices para poder implementar un producto interno generalizado de dos matrices arbitrarias (también conocido comoTensores omatrices n-d)

Un documento de APL que leí (sinceramente, no puedo encontrar cuál, he leído tantos) define el producto de la matriz en la matriz izquierdaX con dimensionesA;B;C;D;E;F y matriz derechaY con dimensionesG;H;I;J;K dóndeF==G como

Z <- X +.× Y
Z[A;B;C;D;E;H;I;J;K] <- +/ X[A;B;C;D;E;*] × Y[*;H;I;J;K]

dónde+/ esla suma de, y × aplica elemento por elemento a dos vectores de la misma longitud.

Así que necesito rebanadas de "fila" de la izquierda y rebanadas de "columna" de la derecha. Por supuesto, puedo tomar una transposición y luego un corte de "fila" para simular un corte de "columna", pero prefiero hacerlo con más elegancia.

Artículo de Wikipedia sobrerebanar conduce a un trozo sobrevectores de droga que parece ser la cura milagrosa que estoy buscando, pero no hay mucho para seguir.

¿Cómo uso un vector de droga para implementar cortes arbitrarios?

(Mucho después me di cuentaZancada de una matriz que tiene algunos detalles)

Respuestas a la pregunta(1)

Su respuesta a la pregunta