I am trying to call scipy.stats.multivariate_normal with four different parameters for mu and sigma. And then for each generated probability density function I need to call that pdf on an array of say, 10 values. 
For simplicity let's say that above mentioned function is addXY:
def addXY(x, y):
    return x+y
params=[[1,2],[1,3],[1,4],[1,5]]       # mu and sigma, four versions
inputs=[1,2,3]                         # values, in this case 3 of them
matrix = []
for pdf_params in params:
    row = []
    for inp in inputs:
        entry = addXY(*pdf_params) 
        row.append(entry*inp)
    matrix.append(row)
print matrix
- Is this pythonic? 
- Is there a way to pass params and inputs and get a matrix with all combinations in it that is more pythonic/vectorized/faster? 
!Important notice: Inputs in the example are scalar values (I've set scalar values to simplify problem description, I am actually using array of n-dimensional vectors and thus multivariate_normal pdf).
Hints and tips about similar operations are welcome.
 
     
     
    