Debemos comenzar diciendo que estas funciones soportan lo que se conoce como broadcasting y type casting:
Broadcasting
El broadcasting es el nombre que damos a la propiedad según la cual es posible operar con estructuras de diferente tamaño replicándose una de ellas de forma automática en la dimensión adecuada cuando se necesite. Por ejemplo:

En este caso la lista b se ha sumado al array replicándose verticalmente -es decir, de forma que sea posible realizar la suma fila por fila-.
Type Casting
El type casting representa la posibilidad de modificar de forma automática el tipo de un array (por otro tipo más general) de forma que una operación sea posible:

En el caso anterior, los valores enteros del array a se convierten a números reales para poder operar con un tipo común.