# Multiplication of arrays

This is a brief note but something that you may find yourself doing a lot when working wih numpy. The great thing about arrays is that you can quickly multiply and manipulate them without having to specifically loop through each element.

Create 2 2d arrays of random number between zero and 10:

``````import numpy
random_1=numpy.random.random((5,5))*10
random_2=numpy.random.random((5,5))*10
``````

To multiply the elements of random_1 by random_2, you can type (and assign it to its own variable) using:

``````random_prod=random_1*random_2
``````

Now, both `random_1` and `random_2` are matrices. Using the above operation is a pair wise multiplication (e.g. element 1 of random_1 multiplied by element 1 of random_2). To actually carry out a true (mathematical) matrix multiplication you must type:

``````mtrx_prod=random_1.dot(random_2)
``````

Anyway, just so you know and are aware of the difference.

There is a lot of useful information on nummerical operations for arrays available here.