pythonlinear-algebradot-product

What is the pythonic way to calculate dot product?


I have two lists, A and B. Each element in A is a triple, and each element in B is just a number. I would like to calculate the dot product defined as:

result = A[0][0]*B[0] + A[1][0]*B[1] + ... + A[n-1][0]*B[n-1]

I know the logic is easy but how can I write it in a pythonic way?


Solution

  • numpy.dot

    import numpy
    result = numpy.dot(numpy.array(A)[:,0], B)
    

    If you want to do it without numpy, try

    sum(a[i][0]*b[i] for i in range(len(b)))