In [1]:
import numpy as np
In [2]:
# empty
In [3]:
ni = 3
nj = 2
vec_ni = np.array([1.0, 2.0, 3.0])
vec_nj = np.array([40.0, 50.0])
mat_ni_nj = np.array([
[600.0, 700.0],
[800.0, 900.0],
[1000.0, 1100.0],
])
print('vec_ni:\n', vec_ni, '\n')
print('vec_nj:\n', vec_nj, '\n')
print('mat_ni_nj:\n', mat_ni_nj, '\n')
In [4]:
vec_nj * mat_ni_nj
Out[4]:
In [5]:
vec_ni * mat_ni_nj.T
Out[5]:
In [6]:
np.sum(vec_nj * mat_ni_nj, axis=1)
Out[6]:
In [7]:
mat_nj_ni = vec_ni * mat_ni_nj.T
In [8]:
mat_nj_ni / vec_ni
Out[8]:
In [9]:
# Replacing `mat_nj_ni` with it's expression
(vec_ni * mat_ni_nj.T) / vec_ni
Out[9]:
In [10]:
# Replacing rightmost `vec_ni` by the sum expression
(vec_ni * mat_ni_nj.T) / np.sum(vec_nj * mat_ni_nj, axis=1)
Out[10]: