在化学中,Z-矩阵(英语:Z-matrix)是表示由原子构成的系统的一种方式。 Z矩阵有时也被称为内坐标(英语:internal coordinate representation)。它提供了分子中每个原子的原子序数,键长,键角和二面角(即所谓的内部坐标)的描述。然而Z -矩阵并非总能提供化学键相关的信息,因为矩阵本身是基于描述空间中原子取向的一系列向量的。但是Z-矩阵仍是一种对键长,键角和二面角等性质的方便表示,毕竟它能保留实际的键连关系。Z -矩阵这个名字来源于生成Z -矩阵时将第一个原子与第二个原子的连线设为Z轴这一规则。
Z-矩阵可以与笛卡尔坐标系相互转换,但是空间中的位置和方向却不同。尽管从概念上讲转换是简单易懂的,但是进行转换的算法在速度,数值精度和并行度上却有很大差异。这一点很重要,因为高分子链(例如聚合物,蛋白质和DNA)可以具有成千上万个相连的原子,并且沿该链连续相距很远,这些原子在笛卡尔空间中可能很近(因此,较小的舍入误差可能会累积成不可忽视的力场误差)从扭转空间到笛卡尔空间转换的最佳最快和最精确的数字算法是自然扩展参考系方法。从笛卡尔角到扭转角的反向转换是简单的三角函数,并且没有累积误差的风险。
在许多分子建模和计算化学程序中,Z-矩阵用于为分子系统创建输入文件。熟练选择内部坐标可以使结果的解释简单明了。另外,由于Z矩阵包含的分子连接性信息(虽然并不总是包含此信息)可以用于更有根据地猜测初始的黑塞矩阵,一些量子化学计算(比如结构优化)可以因此而加快速度。目前,Z矩阵通常是首选的分子表示法,因为这可以通过将某些角度设置为常数来对分子(或其部分)强制添加对称性。 Z矩阵只是以相对方式放置原子位置的一种表示形式,具有明显的便利性,即Z矩阵中使用的向量对应于化学键。一个概念上的陷阱是假设所有键在Z矩阵中都显示为一条线,这是不正确的。例如:在像苯这样的环状分子中,Z矩阵将不会包含环中的所有六个键,因为所有六个原子的位置仅在记录5个键之后就唯一确定,从而使第6个多余。
以下是一个甲烷分子的笛卡尔坐标表示
C 0.000000 0.000000 0.000000H 0.000000 0.000000 1.089000H 1.026719 0.000000 -0.363000H -0.513360 -0.889165 -0.363000H -0.513360 0.889165 -0.363000
我们把坐标轴稍微旋转,可以得到如下对称性更明显的坐标
C 0.000000 0.000000 0.000000H 0.628736 0.628736 0.628736H -0.628736 -0.628736 0.628736H -0.628736 0.628736 -0.628736H 0.628736 -0.628736 -0.628736
进而,以碳原子为原点,我们可以构建如下Z-矩阵
CH 1 1.089000H 1 1.089000 2 109.4710H 1 1.089000 2 109.4710 3 120.0000H 1 1.089000 2 109.4710 3 -120.0000
其中H 1 1.089000 表示此H原子离第一个原子的距离为1.089000, H 1 1.089000 2 109.4710表示此H原子离第一个原子的距离为1.089000且与1,2号原子所成键角为109.4710度,H 1 1.089000 2 109.4710 3 120.0000表示此H原子离第一个原子的距离为1.089000且与1,2号原子所成键角为109.4710度,且与1,2,3号原子所成二面角为120度。