NumPy Reference
The term broadcasting describes how numpy treats arrays with different shapes during arithmetic operations. Subject to certain constraints, the smaller array is "broadcast" across the larger array so that they have compatible shapes. Broadcasting provides a means of vectorizing array operations so that looping occurs in C instead of Python. It does this without making needless copies of data and usually leads to efficient algorithm implementations. There are, however, cases where broadcasting is a bad idea because it leads to inefficient use of memory that slows computation.
https://numpy.org/doc/stable/user/basics.broadcasting.html
https://www.geeksforgeeks.org/python-broadcasting-with-numpy-arrays
- Output type determination
- Use of internal buffers
- Error handling
- Casting Rules
- Overriding Ufunc behavior
- ufunc
- Available ufuncs
- Routines
- Array creation routines
- Array manipulation routines
- Binary operations
- String operations
- C-Types Foreign Function Interface (numpy.ctypeslib)
- Datetime Support Functions
- Data type routines
- Optionally Scipy-accelerated routines (numpy.dual)
- Mathematical functions with automatic domain (numpy.emath)
- Floating point error handling
- Discrete Fourier Transform (numpy.fft)
- Financial functions
- Functional programming
- NumPy-specific help functions
- Indexing routines
- Input and output
- Linear algebra (numpy.linalg)
- Logic functions
- Masked array operations
- Mathematical functions
- Matrix library (numpy.matlib)
- Miscellaneous routines
- Padding Arrays
- Polynomials
- Random sampling (numpy.random)
- Set routines
- Sorting, searching, and counting
- Statistics
- Test Support (numpy.testing)
- Window functions
- Packaging (numpy.distutils)
- NumPy C-API
- NumPy internals
- NumPy and SWIG