Articles of matriz multiplicación

Multiplicación eficiente de elementos de una matriz y un vector en TensorFlow

¿Cuál sería la forma más eficiente de multiplicar (de forma elemental) un tensor 2D (matriz): x11 x12 .. x1N … xM1 xM2 .. xMN por un vector vertical: w1 … wN Para obtener una nueva matriz: x11*w1 x12*w2 … x1N*wN … xM1*w1 xM2*w2 … xMN*wN Para dar algo de contexto, tenemos M muestras de datos […]

Multiplicando matriz 3D con matriz 2D

Tengo dos matrices para multiplicar. Una es la matriz de peso – W cuyo tamaño es 900x2x2 . Otra es la matriz de entrada-I cuyo tamaño es 2×2 . Ahora quiero realizar una sum sobre c = WI que será una matriz de 900×1 , pero cuando realizo la operación se multiplica y me da […]

Auto-multiplicación matricial eficiente numpy (matriz de gramo)

Quiero multiplicar B = A @ AT en numpy. Obviamente, la respuesta sería una matriz simétrica (es decir, B[i, j] == B[j, i] ). Sin embargo, no me queda claro cómo aprovechar esto fácilmente para reducir el tiempo de cálculo a la mitad (calculando solo el triángulo inferior de B y luego usándolo para obtener […]

Tensor áspero: Tensordot sobre rebanadas frontales de tensor

Estoy tratando de realizar una multiplicación de matrices con cortes frontales de un tensor 3D, como se muestra a continuación. Si X.shape == (N, N) e Y.shape == (N, N, Y) , el tensor resultante debe ser de forma (N, N, Y) . ¿Cuál es la syntax np.tensordot adecuada para lograr esto? Estoy tratando de […]

¿Cómo obtener la multiplicación de matrices de elementos (producto Hadamard) en cantidad?

Tengo dos matrices a = np.matrix([[1,2], [3,4]]) b = np.matrix([[5,6], [7,8]]) y quiero obtener el producto por elementos, [[1*5,2*6], [3*7,4*8]] , igualando [[5,12], [21,32]] Yo he tratado print(np.dot(a,b)) y print(a*b) pero ambos dan el resultado [[19 22], [43 50]] que es el producto de matriz, no el producto de elementos. ¿Cómo puedo obtener el producto […]

Diferencia entre el punto numpy () y la multiplicación de matrices de Python 3.5+ @

Recientemente me mudé a Python 3.5 y noté que el nuevo operador de multiplicación de matrices (@) a veces se comporta de manera diferente al operador de puntos numpy . En el ejemplo, para matrices 3d: import numpy as np a = np.random.rand(8,13,13) b = np.random.rand(8,13,13) c = a @ b # Python 3.5+ d […]

Multiplica matricial, resuelve Ax = b resuelve para x

Así que me asignaron una tarea que requiere resolver los coeficientes de splines cúbicos. Ahora entiendo claramente cómo hacer las matemáticas en papel, así como con MatLab, quiero resolver el problema con Python. Dada una ecuación Ax = b donde sé los valores de A y b, quiero poder resolver para x con Python y […]

¿Por qué la comprensión de la lista es mucho más rápida que la numpy para multiplicar matrices?

Recientemente respondí a ESTA pregunta que quería la multiplicación de 2 listas, algún usuario sugirió la siguiente forma usando numpy, junto con la mía, que creo que es la correcta: (aT*b).T También encontré que aray.resize() tiene un mismo rendimiento como ese. De cualquier manera, otra respuesta sugirió una solución usando la lista de comprensión: [[m*n […]

¿Por qué la multiplicación de matrices es más rápida con numpy que con ctypes en Python?

Intenté descubrir la forma más rápida de hacer la multiplicación de matrices y probé 3 formas diferentes: Implementación pura de python: no hay sorpresas aquí. Implementación Numpy usando numpy.dot(a, b) Interfaz con C usando el módulo ctypes en Python. Este es el código C que se transforma en una biblioteca compartida: #include #include void matmult(float* […]

¿Para qué sirve el símbolo ‘@ =’ en Python?

Sé que @ es para decoradores, pero ¿para qué sirve @= en Python? ¿Es solo reserva para alguna idea futura? Esta es solo una de mis muchas preguntas al leer tokenizer.py .