# Python program explaining
# numpy.MaskedArray.dot() method
# importing numpy as geek
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
# creating input arrays
in_arr1 = geek.array([[1, 2], [ 3, -1], [ 5, -3]])
print ("1st Input array : ", in_arr1)
in_arr2 = geek.array([[1, 0, 3], [ 4, 1, 6]])
print ("2nd Input array : ", in_arr2)
# Now we are creating masked array.
# by making entry as invalid
mask_arr1 = ma.masked_array(in_arr1, mask = [[ 1, 0], [ 0, 1], [ 0, 0]])
print ("1st Masked array : ", mask_arr1)
mask_arr2 = ma.masked_array(in_arr2, mask =[[ 0, 0, 0], [ 0, 0, 1]])
print ("2nd Masked array : ", mask_arr2)
# applying MaskedArray.dot methods
# to masked array
out_arr = ma.dot(mask_arr1, mask_arr2)
print ("Dot product of two arrays : ", out_arr)