跳到主要内容
CalcMax

矩阵计算器

结果

25.0000

结果第 1 行第 1 列

结果第 1 行第 2 列
36.0000
结果第 2 行第 1 列
20.0000
结果第 2 行第 2 列
28.0000
A 的行列式
10.0000

2×2 矩阵计算器:把两个矩阵相加、相乘或求逆,并印出结果的四个元素,外加第一个矩阵的行列式。每个矩阵按行填,一行占一个框——第 1 行 4 7 填一个框、第 2 行 2 6 填下一个,两个数之间用空格或逗号隔开。在下拉框里选运算,其余交给页面。只有第二个矩阵的框可以留空,而要不要填取决于你要的是什么:相加与相乘用两个矩阵,求逆只用第一个,所以选了求逆之后第二个矩阵根本不会被读。三个运算,各自是不同性质的东西。矩阵相加是逐元素相加——左上对左上,依此类推——也是三者中唯一表现得跟普通数字一样的那个。矩阵相乘不是逐元素相乘:答案的每个元素由第一个矩阵的一整行与第二个矩阵的一整列配对相乘再相加得到,所以答案的左上角并不是两个左上角元素的乘积。求逆要的是能撤销第一个矩阵的那个矩阵,也就是乘上去能得到单位矩阵的那个。求逆是三者中唯一带条件的:它要求行列式不为零,而行列式为零时页面拒答而不是返回任何东西,因为那个能撤销它的矩阵不存在。行列式为零的矩阵照样能加、照样能乘——缺的只是逆。行列式本身在每一次计算里都会印出来,不管你选了哪个运算,而且它永远属于第一个矩阵。这是有意的:它是一个关于那个矩阵的事实,而不是关于你选的那个算术的事实,所以同一组输入在相加、相乘、求逆之间切换时它不动。它是决定逆是否存在的那一个数,它的符号则表示这个矩阵把平面翻转了没有——所以把它摆在答案旁边,比单独占一页有用得多。

若干 2×2 矩阵与它们的逆

矩阵 A 第 1 行矩阵 A 第 2 行A 的行列式结果第 1 行第 1 列结果第 1 行第 2 列结果第 2 行第 1 列结果第 2 行第 2 列
4 72 6100.6-0.7-0.20.4
1 00 111001
1 23 4-2-211.5-0.5
2 00 360.5000.3333
0 11 0-10110
2 41 321.5-2-0.51
3 51 212-5-13
1 11 212-1-11

八个矩阵与它们的逆,而这张表只演示一个运算:每一行都是求逆,因为后四栏必须对着一个运算来读,也因为相加与相乘需要一个第二矩阵,而一张单矩阵的表给不出来。第一行是页面加载时的那一档:行列式 10,四个元素都除得尽,因为 10 能整除对调后的那些元素。第二行是单位矩阵,它的逆就是它自己。第三行是最小的那个行列式为负的矩阵,负号让逆的四个元素全部翻转——这是看清行列式符号在做什么最快的办法。第四行是对角矩阵,逆就是把对角线上的两个数取倒数;本页最常见的不整齐答案也出在这一档,因为三分之一除不尽。第五行的那两个 1 落在副对角线上而不是对角线上——它把向量的两个坐标对调。行列式是 −1,所以逆同样是精确值,而且它就是自己的逆。第六行行列式为 2,于是出现半个半个的数。第七行行列式为 1,逆全是整数——这正是行列式为 1 换来的:整数矩阵除以 1 不会变样。行列式为 1 值得认出来,理由正在这里。第八行行列式也是 1,同样全是整数。表里没有行列式为零的行,这是有意的:那些矩阵正是本页拒绝求逆的那些,而参考表里摆一行四个空格,还不如 limitations 里那句话说得清楚。表里每个数都是构建页面时现算的,前两栏里的空格是分隔符,不是数字的一部分。

公式

A + B = (aᵢⱼ + bᵢⱼ) (A × B)ᵢⱼ = aᵢ₁b₁ⱼ + aᵢ₂b₂ⱼ det A = a₁₁a₂₂ − a₁₂a₂₁ A⁻¹ = (1 ÷ det A)× (a₂₂, −a₁₂; −a₂₁, a₁₁)

矩阵 A 第 1 行 / 第 2 行
第一个矩阵,一行一个框、每框两个数,例如 4 7 与 2 6。按行而不是四个格子,是因为矩阵是一个对象:拆成四个框等于把一个输入变成四个,还会允许填出根本不是矩阵的东西
矩阵 B 第 1 行 / 第 2 行
第二个矩阵,写法相同,也是本页唯一选填的输入。相加与相乘都要它;求逆完全不看它,所以选了那个运算时两个框都可以空着——空着不是出错,那个键就是不存在
运算
三件事里做哪一件:把两个矩阵相加、相乘,或者对第一个求逆。合成一页而不是三页,因为三者输入相同,区别只在施加于其上的算术
结果第 1 行第 1 列
答案的左上角元素,另外三个按同样的方式命名。相加时它是两个左上角的数相加;相乘时它是 A 的一整行对 B 的一整列,所以它不是两个左上角元素的乘积
det A
第一个矩阵的行列式:左上乘右下,减去右上乘左下。每个运算都会印它,而它永远属于 A、不属于答案——它是你输入的那个矩阵的性质,所以同一组数从相加切到相乘再切到求逆,它不变
1 ÷ det A
求逆公式里的那个缩放因子,也是行列式为零会被拒的原因:逆要除以的就是它。相加与相乘都不用它,所以那两者对行列式为零的矩阵照常工作
A⁻¹
撤销 A 的那个矩阵:两者无论按哪个次序相乘,得到的都是单位矩阵——对角线是 1、其余是 0。这既是它值得要的理由,也是它存在的条件恰好是行列式不为零的原因
单位矩阵
对角线为 1、其余为 0 的矩阵,它在矩阵乘法里的地位相当于普通乘法里的 1。核对逆算得对不对的办法,就是乘回去看是不是它
四位小数
所有输出的显示宽度。整数相加与相乘给出精确结果,行列式为 1 或 −1 的矩阵求逆也给出精确结果;其余都是四舍五入后的数,而对角线上带一个 3 的对角矩阵就是最常见的那一档除不尽

相加是几乎没人真正需要的那个运算,它留在这里主要是为了让三者能摆在一起对照:逐元素相加、永远成立,而且是矩阵表现得像普通数字的唯一一处。相乘才是变换真正用到的那一个——先旋转再缩放同一个图形,就是把它俩的矩阵相乘,而相乘的先后次序就是施加的先后次序。求逆是用来撤销的:一个矩阵把坐标朝某个方向变换过去,它的逆就把坐标变换回来,当你手里是变换后的结果、需要反推输入时用的就是它。旁边印出来的行列式本身就值得读。行列式为零表示这个矩阵把平面压成了一条线,于是不同的输入会落到同一个输出、什么都撤销不回来——这与「逆不存在」是同一句话。它的符号告诉你这个矩阵保持还是翻转了平面的定向。用这一页时有两点要记住。乘法不满足交换律:两个矩阵对调会得到不一样的答案,所以如果你在做变换的复合,次序是题目的一部分而不是细节。以及印出来的只有第一个矩阵的行列式,想要第二个的,把它放到第一个位置上求逆即可——决定谁是第一个的是下拉框,不是框里的内容。

算例

  1. 4 7 与 2 6,乘以 1 2 与 3 4

    1. 左上:4 × 1 + 7 × 3 = 4 + 21 = 25
    2. 右上:4 × 2 + 7 × 4 = 8 + 28 = 36
    3. 左下:2 × 1 + 6 × 3 = 2 + 18 = 20
    4. 右下:2 × 2 + 6 × 4 = 4 + 24 = 28
    5. A 的行列式:4 × 6 − 7 × 2 = 24 − 14 = 10

    页面的默认输入。答案的每个元素都是第一个矩阵的一整行对第二个矩阵的一整列,这就是这一档要看的地方:答案的左上角是 25,而输入里坐在左上角的两个数 4 与 1,谁都不是 25——它俩的乘积是 4。同时印出来的行列式 10 是 A 的,也就是 4、7、2、6 那一组,不是答案的。

  2. 同样两个矩阵,相加

    1. 左上:4 + 1 = 5
    2. 右上:7 + 2 = 9
    3. 左下:2 + 3 = 5
    4. 右下:6 + 4 = 10
    5. A 的行列式:仍是 10,A 与上一档是同一个矩阵

    上一档只改了一处:下拉框。现在每个元素都是普普通通的和,而这正是三个运算里唯一一处矩阵表现得像普通数字——次序无所谓,也没有任何会出错的地方。行列式仍然是 10,因为它说的是 A 的事,而 A 没变。在下拉框里把相加与相乘来回切几次,是看清「行列式不是这次计算的产物」最快的办法。

  3. 对 4 7 与 2 6 求逆

    1. A 的行列式:4 × 6 − 7 × 2 = 24 − 14 = 10
    2. 把对角线上的两个元素对调:6 与 4
    3. 把另外两个元素变号:−7 变成 7,2 变成 −2
    4. 各自除以行列式:6 ÷ 10 = 0.6,−7 ÷ 10 = −0.7,−2 ÷ 10 = −0.2,4 ÷ 10 = 0.4
    5. 验算:4 × 0.6 + 7 ×(−0.2)= 2.4 − 1.4 = 1,正是单位矩阵的左上角

    三个运算里第一个带条件的,而第二个矩阵的两个框是「有意空着的」——求逆只读 A,页面不会有意见。配方每次都是同样四步:对调对角线、另外两个变号、除以行列式。最后那步验算值得动手做一次:把答案乘回原矩阵,对角线上得到 1、其余得到 0;得到别的就说明某个符号滑掉了。

  4. 1 2 与 3 4,乘以 5 6 与 7 8

    1. 左上:1 × 5 + 2 × 7 = 5 + 14 = 19
    2. 右上:1 × 6 + 2 × 8 = 6 + 16 = 22
    3. 左下:3 × 5 + 4 × 7 = 15 + 28 = 43
    4. 右下:3 × 6 + 4 × 8 = 18 + 32 = 50
    5. A 的行列式:1 × 4 − 2 × 3 = 4 − 6 = −2

    该动手对调的那一档。把同样四个数填进去、把 A 与 B 对调,答案会变成 23、34、31、46——同样的输入换一个次序,得到完全不同的矩阵。矩阵乘法不满足交换律,这句话在实践里就是这个意思:如果这两个矩阵是两个变换,那么相乘的先后就是施加的先后。注意这里 A 的行列式是 −2,对调之后也是 −2(两个矩阵的行列式恰好相同),所以两处答案的差别只体现在四个 result 元素上,行列式那一栏分辨不出来。

  5. 行列式为零的矩阵,做乘法

    1. 左上:1 × 1 + 2 × 3 = 1 + 6 = 7
    2. 右上:1 × 2 + 2 × 4 = 2 + 8 = 10
    3. 左下:2 × 1 + 4 × 3 = 2 + 12 = 14
    4. 右下:2 × 2 + 4 × 4 = 4 + 16 = 20
    5. A 的行列式:1 × 4 − 2 × 2 = 4 − 4 = 0

    第一个矩阵的行列式为零——它的第 2 行正好是第 1 行的两倍,也就是把平面压成了一条线——而乘法照样正常算完。这一档的意义就在这里:行列式为零只对求逆是问题,别的什么都不影响。让同一页对它求逆,它会拒答;让它相加或相乘,它会给出答案,因为这两者在这里都有完全确定的答案。行列式那一栏两种情况都读作 0。

局限

只收 2×2 矩阵,每行一个框、每框两个数。更大的矩阵要换一种排版而不是换一个更大的框,因为格子数按阶数的平方增长。第二个矩阵的框可以空着,而要不要填取决于运算而不是框:相加与相乘需要两个矩阵,求逆只读第一个。逆只在行列式不为零时存在,而这个判断用的是「严格等于零」而不是接近零——这既是一个真实的局限,也是一个有意的取舍。用容差的话,为了卡住边界附近的情形,就得误拒真正可逆的矩阵,所以干脆不用容差;代价是:一个用小数填进去、在精确算术下奇异的矩阵,可能算出 1.4e-17 而不是 0,于是被当成可逆求出四个巨大的数,而不是被拒答。填整数可以完全避开这件事,而这么小的行列式本身就是个信号。印出来的只有第一个矩阵的行列式,想要第二个的,把它放到第一个位置上。分量按普通数字解析:逗号加空格才是同一行两个数之间的分隔,逗号后面不带空格时按小数点读(1,5 就是一点五),而千位分组会被直接拒收、不去猜——写 1500,不要写 1,500。四位小数是显示宽度而不是精度承诺,求逆用的是未取整的行列式,所以把印出来的答案乘回 A,未必能得到印出来的那些 1 和 0。本页没有任何单位,也不隐含单位:元素是纯数,对它唯一的声明就是那四位小数。

常见问题

为什么一行一个框,而不是一个数一个框?
因为矩阵是一个对象,四个框会把它变成四个可以各自填写的输入,甚至能填出根本不是矩阵的东西。整块矩阵塞进一个框则是另一个毛病:分不清是漏了一个元素还是位置写错了。一行一个框让同一行的两个数待在一起,同时页面还查得出每行是不是恰好两个。
什么时候可以把第二个矩阵留空?
当你选的那个运算不需要它的时候。求逆只读第一个矩阵,所以第二个矩阵的两个框可以一直空着,不算缺输入。相加与相乘需要两个矩阵,你还在输入的过程中页面会等着,而不会报错。要不要填是由运算决定的,不是由框决定的。
为什么求逆有时会被拒答?
因为逆是撤销第一个矩阵的那个矩阵,而行列式为零的矩阵(也叫奇异矩阵)不存在逆——第一个矩阵把平面压成了一条线,不同的输入会落到同一个输出,什么都反推不回来。页面拒答,而不是印出四个看起来像答案的数。同一个矩阵做相加或相乘则完全正常。
行列式是哪个矩阵的?
永远是第一个的,不管你选了哪个运算,所以同一组输入在相加、相乘、求逆之间切换时它不动。它是那个矩阵的性质而不是答案的性质,也是决定逆是否存在的那一个数。想要第二个矩阵的行列式,把它放到第一个位置上求逆即可。
两个矩阵的次序有影响吗?
相乘时有,而且这是实打实的差别而不是细节:两个矩阵一交换,答案的四个元素全变。如果它们是两个变换,相乘的先后就是施加的先后。相加是例外——矩阵的加法跟普通数字一样,次序完全无所谓。
逆有什么用?
用来撤销那个矩阵。一个矩阵与它的逆无论按哪个次序相乘,得到的都是单位矩阵:对角线是 1、其余是 0。这让它可以反推——从变换之后的坐标回到产生它的那组坐标。页面把行列式印在旁边,因为行列式为零恰好就是这件事做不到的那一档。

参考资料

相关计算器