Numpy recarray.dot() function | Python

In numpy, arrays may have a data-types containing fields, analogous to columns in a spreadsheet. An example is [(a, int), (b, float)], where each entry in the array is a pair of (int, float). Normally, these attributes are accessed using dictionary lookups such as arr['a'] and arr['b']. Record arrays allow the fields to be accessed as members of the array, using arr.a and arr.b.
numpy.recarray.dot() function returns product of two record arrays.
Syntax :
numpy.recarray.dot(arr, out=None)Parameters:
arr : Second record array.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.Return : A new array holding the result is returned unless out is specified, in which case it is returned.
Code #1 :
# Python program explaining# numpy.recarray.dot() method# importing numpy as geekimportnumpy as geek# creating 2 input array with 2 different fieldin_arr1=geek.array([[(5.0,2), (3.0,-4), (6.0,9)],[(9.0,1), (5.0,4), (-12.0,-7)]],dtype=[('a',float), ('b',int)])in_arr2=geek.array([[(2.0,1), (4.0,-3)],[(8.0,3), (6.0,5)],[(6.0,-5), (-5.0,4)]],dtype=[('a',float), ('b',int)])("1st Input array : ", in_arr1)("2nd Input array : ", in_arr2)# convert it to a record array,# using arr.view(np.recarray)rec_arr1=in_arr1.view(geek.recarray)("1st Record array of float: ", rec_arr1.a)("1st Record array of int: ", rec_arr1.b)rec_arr2=in_arr2.view(geek.recarray)("2nd Record array of float: ", rec_arr2.a)("2nd Record array of int: ", rec_arr2.b)# applying recarray.dot methods# between two float record arrayout_arr1=rec_arr1.a.dot( rec_arr2.a)("Output float array : ", out_arr1)# applying recarray.dot methods# between two int record arrayout_arr1=rec_arr1.b.dot( rec_arr2.b)("Output int array : ", out_arr1)Output:1st Input array : [[( 5., 2) ( 3., -4) ( 6., 9)] [( 9., 1) ( 5., 4) (-12., -7)]] 2nd Input array : [[( 2., 1) ( 4., -3)] [( 8., 3) ( 6., 5)] [( 6., -5) (-5., 4)]] 1st Record array of float: [[ 5. 3. 6.] [ 9. 5. -12.]] 1st Record array of int: [[ 2 -4 9] [ 1 4 -7]] 2nd Record array of float: [[ 2. 4.] [ 8. 6.] [ 6. -5.]] 2nd Record array of int: [[ 1 -3] [ 3 5] [-5 4]] Output float array : [[ 70. 8.] [-14. 126.]] Output int array : [[-55 10] [ 48 -11]]



