Repository: scipy/scipy

Issue:
DOC: "These are not universal functions" difficult to understand for newcomers
### Is your feature request related to a problem? Please describe.

The docs of [special](https://scipy.github.io/devdocs/reference/special.html) include the sentence "These are not universal functions" to point out that a function only accepts scalar arguments and not arrays. I suggest to change the formulation to something a novice numpy user will understand as the concept of "universal function" is a NumPy thing. I guess that even many regular NumPy users do not know the term although they use ufuncs every day.

### Describe the solution you'd like.

Alternative formulation that appeals to newbies and veterans:

"These functions only accept scalar arguments but not arrays. They are not universal functions."

### Describe alternatives you've considered.

_No response_

### Additional context (e.g. screenshots, GIFs)

_No response_


Discussion:
I agree here. Either we leave it like this and point to the NumPy definition of ufunc or we rephrase-which I prefer.
+1 from me. Universal functions should get an explanation ("ufuncs" with a link to the relevant NumPy docs), and what is/isn't a ufunc should come after a regular explanation of what the functions do. Ufuncs are an implementation detail mostly.
@dschmitz89 would you be willing to submit a PR for this?
@melissawm : yep :)

Resolving patch:
diff --git a/scipy/special/__init__.py b/scipy/special/__init__.py
--- a/scipy/special/__init__.py
+++ b/scipy/special/__init__.py
@@ -5,8 +5,13 @@
 
 .. currentmodule:: scipy.special
 
-Nearly all of the functions below are universal functions and follow
-broadcasting and automatic array-looping rules.
+Almost all of the functions below accept NumPy arrays as input
+arguments as well as single numbers. This means they follow
+broadcasting and automatic array-looping rules. Technically,
+they are `NumPy universal functions
+<https://numpy.org/doc/stable/user/basics.ufuncs.html#ufuncs-basics>`_.
+Functions which do not accept NumPy arrays are marked by a warning
+in the section description.
 
 .. seealso::
 
@@ -95,7 +100,8 @@
    hankel2e      -- Exponentially scaled Hankel function of the second kind.
    wright_bessel -- Wright's generalized Bessel function.
 
-The following is not a universal function:
+The following function does not accept NumPy arrays (it is not a
+universal function):
 
 .. autosummary::
    :toctree: generated/
@@ -105,7 +111,8 @@
 Zeros of Bessel functions
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -178,7 +185,8 @@
 Riccati-Bessel functions
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -334,7 +342,8 @@
    modfresnelm   -- Modified Fresnel negative integrals.
    voigt_profile -- Voigt profile.
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -352,7 +361,8 @@
    lpmv     -- Associated Legendre function of integer order and real degree.
    sph_harm -- Compute spherical harmonics.
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -477,7 +487,8 @@
    pbvv -- Parabolic cylinder function V.
    pbwa -- Parabolic cylinder function W.
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -495,7 +506,8 @@
    mathieu_a -- Characteristic value of even Mathieu functions.
    mathieu_b -- Characteristic value of odd Mathieu functions.
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/
@@ -561,7 +573,8 @@
    kerp         -- Derivative of the Kelvin function ker.
    keip         -- Derivative of the Kelvin function kei.
 
-These are not universal functions:
+The following functions do not accept NumPy arrays (they are not
+universal functions):
 
 .. autosummary::
    :toctree: generated/


Test patch: