对于微积分的初学者而言, 函数由诸如这样的解析表达式给出. 实际上, 250年前这是Léonard Euler (1707-1783) 所采取的方法 (见Euler [EB88]):
A function of a variable quantity is an analytic expression composed in any way whatsoever of the variable quantity and numbers or constant quantities.
几乎是在同一时间, 有人发现由公式给出函数
这一概念对于微积分的目的而言太过具有限制性了. 例如,的轨迹定义了一个很好的的子集, 草绘于图1.1之中. 这个图片 (figure) 让我们怀疑这个轨迹是不是作为的函数的图 (graph). 但是, 并没有可以用来描述这个函数的公式存在.
与将函数当作公式的朴素定义相比, 函数的现代的集合论式的定义基于函数的图 (graph) 陈述. 精确地说, 定义域为而陪域为的一个函数是笛卡尔积的一个子集, 其具有性质(i)对于每个, 存在一个元素; (ii)如果且, 那么. 在这两个性质成立的情况下, 的选择确定了唯一使得的; 藉着唯一性, 我们发现简记以表达比较方便.
启发式地进行思考, 人们通常期望一个变元的一个方程足够用来确定的值, 其中是一个常数 (尽管如此, 存在多于一个但有限多个解也是令人毫不意外的). 当存在两个变元时, 人们期望需要通过两个同时的 (或者说联立的) 方程来确定和的值, 其中和是常数. 一般情况下, 人们期望着具有个变元的由个方程构成的一个方程组恰好就具有用于确定这些变元的值的合适方程数目, 其中是常数. 但是当然了, 我们必须意识到这些方程之间可能存在着冗余. 也就是说, 我们必须验证这个方程组 (或者说系统) 是非退化的——意即一个特定的行列式非零 (does not vanish).
在(1.6)里的方程均为线性方程的情况下, 我们可以诉诸于线性代数来使得我们的启发式思考精确化 (见任意一本线性代数教科书): 保证(1.6)对于所有常量的值都存在唯一解的充分必要条件是线性方程组的系数矩阵秩为. {译注: 说白了就是可逆.}
我们继续启发式地思考: 如果变量的数目比方程的数目多, 即其中仍然是常量而, 那么我们希望将个额外变量视为参数. 在线性方程组的情况下, 这又是被理解透彻的: 如果系数矩阵的秩为, 那么就可以将某个变量表达为其余个变量的函数. {译注: 从某种意义上说, 这是通过将自由变元移至等式右侧完成的, 那么此时又变回了之前的良好情形.} 而且, 对于系数矩阵的任意个独立 (线性无关) 列, 相对应的个变元可以被表达为其余变元的函数. {译注: 仍然可以这么思考, 将其余变量移至右侧后, 又变回了之前的良好情形. 当然了, 这些线性无关列的选择一般的确是不唯一的.}
在一般情形下, 与线性情形相对的是, (1.7)这个方程组定义了一个全然任意的子集 (如果这些函数都是连续函数, 那么这是一个任意的闭子集). 只有在特殊条件下(1.7)才会定义一个隐函数, 其中个变量由其余个变量确定. 隐函数定理的意图在于为我们提供一个强大的方法, 或者一组强大的方法, 用以确保我们之前的启发式想法能够成立.
隐函数定理根植于微分演算, 而微分演算的基岩是线性近似. 据此, 我们在一个点的一个邻域内工作, 其中(1.7)在点处得到满足, 而(1.7)中的诸函数可以由它们的微分 (differential) 进行线性近似. 我们现在就要以非形式化的语言陈述应函数定理 (之后也会给出更为形式化的说明):
(Informal) Implicit Function Theorem
令(1.7)中的诸函数都是连续可微的. 如果(1.7)在处成立, 并且如果当(1.7)的诸函数被替换为其线性近似时特定的个变量可以表达为其余个变量的函数, 那么对于(1.7)本身而言, 在的一个邻域内, 相同的这个变量可以定义为其余个变量的隐函数. 并且, 作为结果的隐函数是连续可微的, 且其导数可以藉由隐式微分进行计算.
让我们来看一个非常简单的例子, 其只有两个变元和一个方程.