Estoy intentando trasladar parte de mi código de matlab a python, y parte de él usa la función bsxfun() para replicación virtual seguida de multiplicación o división (también la utilizo para operaciones lógicas). Me gustaría poder hacer esto sin replicar realmente el vector (ya sea con una función o con algún tipo de matriz diagonal) antes de multiplicar o dividir para ahorrar memoria y tiempo.¿Hay un equivalente a la función MATLAB bsxfun en python?
Si hay un equivalente de bsxfun en una biblioteca C de algún tipo, eso también funcionaría.
Si se trabaja con matrices en Python que vas a querer estar usando numpy (www.numpy.org), y tiene numpy muy buenas propiedades de transmisión. (Consulte http://www.scipy.org/EricsBroadcastingDoc para obtener un breve tutorial.) – DSM
Según esta [pregunta] (http://stackoverflow.com/questions/3213212/matlab-equivalent-of-numpy-broadcasting) la el equivalente de la difusión numpy en matlab es 'bsxfun', así que supongo que esto funciona al revés. – jcollado
Ahora hay un tutorial de difusión numpy "oficial" en http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html El tutorial sugerido por DSM aún se puede encontrar en https: // github. com/dwf/rescatado-scipy-wiki/blob/master/EricsBroadcastingDoc.rst – user2809402