3.1.3 Other attributes . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.4 Array Interface attributes . . . . . . . . . . . . . . . . . . . . 52
3.2 ndarray Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.1 Array conversion . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.2 Array shape manipulation . . . . . . . . . . . . . . . . . . . . 59
3.2.3 Array item selection and manipulation . . . . . . . . . . . . . 61
3.2.4 Array calculation . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3 Array Special Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3.1 Methods for standard library functions . . . . . . . . . . . . . 71
3.3.2 Basic customization . . . . . . . . . . . . . . . . . . . . . . . 72
3.3.3 Container customization . . . . . . . . . . . . . . . . . . . . . 74
3.3.4 Arithmetic customization . . . . . . . . . . . . . . . . . . . . 75
3.3.4.1 Binary . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.4.2 In-place . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3.4.3 Unary operations . . . . . . . . . . . . . . . . . . . 78
3.4 Array indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.4.1 Basic Slicing ........................... 79
3.4.2 Advanced selection . . . . . . . . . . . . . . . . . . . . . . . . 81
3.4.2.1 Integer . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.4.2.2 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.4.3 Flat Iterator indexing . . . . . . . . . . . . . . . . . . . . . . 84
4 Basic Routines 85
4.1 Creating arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Operations on two or more arrays . . . . . . . . . . . . . . . . . . . . 90
4.3 Printing arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4 Functions redundant with methods . . . . . . . . . . . . . . . . . . 94
4.5 Dealing with data types . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 Additional Convenience Routines 96
5.1 Shape functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 Basic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 Polynomial functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.4 Set Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5 Array construction using index tricks . . . . . . . . . . . . . . . . . . 112
5.6 Other indexing devices . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.7 Two-dimensional functions . . . . . . . . . . . . . . . . . . . . . . . . 116
3