SymPy distinguishes between defined and undefined functions. The term undefined functions (which might be a bit misleading) refers to well-defined Python objects for generic functions that have no special properties.
An example of a function with special properties is atan or the Lambda function used in the introductory example of this chapter.
Note the different names for the different implementations of the same mathematical function: sympy.atan and scipy.arctan.