在古典力学里,假如,一个系统有任何约束是非完整约束,则称此系统为非完整系统。非完整约束不是完整约束。完整约束可以用方程式表示为
- ;
这里,是每一个粒子之位置和时间的函数。非完整约束不能够用上述方程式表示。
完整约束方程式与位置、时间有关,与速度无关。完整约束方程式可以很简易地除去指定的变数。假设变数是完整约束函数里的一个参数,现在指定除去。重新编排上述约束方程式,求出表示的函数:
- 。
将函数代入所有提到的方程式。这样,可以除去所有指定变数。
假设一个物理系统原本的自由度是。现在,将个完整约束作用于此系统。那么,这系统的自由度减少为。可以用个独立广义座标来完全描述这系统的运动。座标的转换方程式可以表示如下:
- 。
换句话说,由于非完整约束无法依照上述方法,来除去其所含广义座标,完全描述非完整系统,所需要的广义座标数目,大于自由度。
约束有时可以用微分形式的约束方程式来表示。思考第个约束的微分形式的约束方程式:
- ;
这里,,分别为微分与的系数。
假若此约束方程式是可积分的。也就是说,有一个函数的全微分满足下述等式:
- ;
那么,此约束是完整约束;否则,此约束是非完整约束。因此,所有的完整约束与某些非完整约束可以用微分形式的方程式来表示。不是所有的非完整约束都可以这样表示。含有广义速度的非完整约束就不能这样表示。所以,假若知道一个约束的微分形式的约束方程式,这约束到底是完整约束,还是非完整约束,需要看微分形式的约束方程式能否积分来决定。
表示非完整约束的方程式往往比较复杂。因此,非完整系统也比较难分析,只有简易一点的非完整系统能用形式论来分析。假如,一个非完整系统的约束可以用以下方程式表示:
- ;
则称此系统为半完整系统[1];这里,是广义速度。
半完整系统可以用拉格朗日形式论来分析。更具体地说,分析半完整系统必须用到拉格朗日乘子
- ;
这里,是未知函数。
假设哈密顿原理成立,则下述方程式成立:
- ;
这里,是拉格朗日量, 与分别为积分的时间下限与上限。经过变分法运算,可以得到方程式
- 。
由于这个广义座标中,仍旧有个不独立广义座标,不能将拉格朗日方程式提取出来;必须加入拉格朗日乘子项目:
- 。
经过变分法运算,可以得到方程式
- ;
这里,是广义力的分量:
- 。
虽然还有个不独立广义座标,仍旧可以调整加入的拉格朗日乘子,使总和公式内的每一个虚位移的系数都等于0。因此,
- 。
这个方程式加上个约束方程式,给予了个方程式来解个未知广义座标与个拉格朗日乘子。
非完整系统至少存在于以下三个状况:
- 物体在做滚动运动。
- 系统的约束包括不等式。
- 系统的约束与速度有关(例如普法夫约束)。
- ^ Goldstein, Herbert. Classical Mechanics 3rd. United States of America: Addison Wesley. 1980: pp. 46–47. ISBN 0201657023 (英语).