Arrays

The NumPy package offers arrays, which are container structures for manipulating vectors, matrices, or even higher order tensors in mathematics. In this section, we point out the similarities between arrays and lists. But arrays deserve a broader presentation, which will be given in Chapter 4, Linear Algebra –  Arrays, and Chapter 5, Advanced Array Concepts.

Arrays are constructed from lists by the function array :

v = array([1.,2.,3.])
A = array([[1.,2.,3.],[4.,5.,6.]])

To access an element of a vector, we need one index, while an element of a matrix is addressed by two indexes:

v[2]     # returns 3.0
A[1,2]   # returns 6.0

At first glance, arrays are similar to lists, but be aware that they are different in a fundamental way, which can be explained by the following points:

  • Access to array data corresponds to that of lists, using square brackets and slices. They may also be used to alter the array:
            M = array([[1.,2.],[3.,4.]])
            v = array([1., 2., 3.])
            v[0] # 1
            v[:2] # array([1.,2.])
            M[0,1] # 2
            v[:2] = [10, 20] # v is now array([10., 20., 3.])
  • The number of elements in a vector, or the number of rows of a matrix, is obtained by the function len :
            len(v) # 3
  • Arrays store only elements of the same numeric type (usually float or complex but also int). Refer to section Array properties in Chapter 4, Liner Algebra – Arrays, for more information.
  • The operations +, *, /, and - are all elementwise. The dot function and, in Python versions ≥ 3.5, the infix operator @ are used for the scalar product and the corresponding matrix operations.
  • Unlike lists, there is no append method for arrays. Nevertheless, there are special methods to construct arrays by stacking smaller size arrays (Refer to section Stacking in Chapter 4, Linear Algebra - Arrays, for more information.). A related point is that arrays are not elastic as lists; one cannot use slices to change their length.
  • Vector slices are views; that is, they may be used to modify the original array. Refer to section Array views and copies in Chapter 5, Advanced Array Concepts, for more information.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.35.247