if i have an array of x values and want to multiply each x value with a different coefficients and sum the. although I want this operation to happen by passing a function that handles the summation and weighting. for example if i have `x`, `coeffs` and a function, `custom_weight(x, a, b, c)`

```py
x = numpy.array([1, 2, 3, 4, 5, 6])
coeffs = numpy.array([[0.1, 0.2, 3.2], [4.5, 4.0, 0.005]]

def custom_weight(x, a, b, c):
   return a*x**2 + (x+b)**3 + x*c

```

I want `x` to be broadcast for each inner array of `coeffs`. in this case the final result
should be an array with the shape `(6, 2)`. for the first iteration of the `custom_weight` function
should look like this `custom_weight(x[0], *(coeffs[0]))` == `custom_weight(1, 0.1, 0.2, 3.2)`. the same happens for all the other `x`'s 2-6. then this happens again with the `x`'s but now using the second set of coefficients.

I do realize that I could do this manually or `numpy.vectorize` in a certain way... **but I specifically want to use a function in that form**. what I want is some function that would look like so:

```py
numpy.the_function(x, coeffs, axis=0, custom_weight)
# the_function should take each x value and pass it to custom_weight as the first arg.
# then pass the column of coeffs (because axis=0)
# to custom_weight but it should do this by unpacking the column into the args a, b, and c

```