Skip to content

Instantly share code, notes, and snippets.

@pure-rgb
Forked from innat/DotMultiply.md
Created November 24, 2018 15:50
Show Gist options
  • Save pure-rgb/ab259d2cc48be0372feef72e9697cfe4 to your computer and use it in GitHub Desktop.
Save pure-rgb/ab259d2cc48be0372feef72e9697cfe4 to your computer and use it in GitHub Desktop.
In Python np.dot and np.multiply with np.sum

Briefly:

np.dot is the dot product of two matrices.

|A B| . |E F| = |A*E+B*G A*F+B*H|
|C D|   |G H|   |C*E+D*G C*F+D*H|

Whereas np.multiply does an element-wise multiplication of two matrices.

|A B| ⊙ |E F| = |A*E B*F|
|C D|   |G H|   |C*G D*H|

When used with np.sum, the result being equal is merely a coincidence.

    >>> np.dot([[1,2], [3,4]], [[1,2], [2,3]])
    array([[ 5,  8],
           [11, 18]])
    >>> np.multiply([[1,2], [3,4]], [[1,2], [2,3]])
    array([[ 1,  4],
           [ 6, 12]])

    >>> np.sum(np.dot([[1,2], [3,4]], [[1,2], [2,3]]))
    42
    >>> np.sum(np.multiply([[1,2], [3,4]], [[1,2], [2,3]]))
    23
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment