矩阵计算器
在线做矩阵加减、乘法、数乘、转置、行列式、逆矩阵与矩阵幂,支持 1×1 到 8×8、整数与小数;逆矩阵给出精确分数与近似值,高精度不丢误差。
矩阵相乘要求 A 的列数 = B 的行数;B 的行数已按 A 的列数自动锁定。
全部为精确结果(整数或有限小数)。逆矩阵可回乘原矩阵验算是否得到单位矩阵。
怎么用
- 选择要做的矩阵运算:在运算按钮里选一种:A+B(加)、A−B(减)、A×B(乘)、k·A(数乘)、Aᵀ(转置)、|A|(行列式)、A⁻¹(逆矩阵)或 Aⁿ(幂)。选择后工具会自动显示这一步需要填的输入(是否需要矩阵 B、标量 k 或幂次 n)。
- 设定矩阵维度:用「A 行数 / A 列数」下拉框设定矩阵 A 的大小(1×1 到 8×8)。相加/相减时 B 与 A 同型、自动锁定;相乘时 B 的行数自动等于 A 的列数,你只需选 B 的列数;行列式、逆矩阵、幂只对方阵(行数=列数)有效。
- 逐格填入矩阵元素:在网格里逐个填写每个位置的数,支持整数、小数和正负号(默认填 0)。需要标量或幂次时,在对应输入框里填 k 或非负整数 n。
- 读取结果并验算:工具即时给出结果矩阵或行列式:能整除时显示精确值,逆矩阵还会给出最简分数,除不尽时按所选小数位显示近似值(前面带 ≈)。可把逆矩阵回乘原矩阵,若得到单位矩阵即验算无误。
核心要点
矩阵计算器把常用的线性代数运算集成到一个页面,支持八种运算:
- 加 / 减:逐元素
(A±B)ᵢⱼ = aᵢⱼ ± bᵢⱼ,要求同型。 - 乘法:
(AB)ᵢⱼ = Σₖ aᵢₖ·bₖⱼ,要求 A 列数 = B 行数。 - 数乘 / 转置:
(kA)ᵢⱼ = k·aᵢⱼ;(Aᵀ)ᵢⱼ = aⱼᵢ(行列互换)。 - 行列式 / 逆 / 幂(仅方阵):
det(A)判可逆,A⁻¹ = adj(A)/det(A),Aⁿ为自乘 n 次。
易错点:矩阵加法满足交换律(A+B = B+A),但减法与乘法一般不满足——A−B ≠ B−A、A×B ≠ B×A,本工具按你填入 A、B 的先后顺序计算。
全程高精度十进制运算(约 40 位有效数字),整数矩阵结果精确, 逆矩阵给出最简分数,计算全部在浏览器本地完成。
原理与公式
矩阵是按行、列排成矩形的数表,记 m×n 表示 m 行 n 列。本工具支持 1×1 到 8×8 的矩阵,元素可为整数、小数或负数。下面是各运算的定义与算法。
加法、减法与数乘
加减法要求两个矩阵同型,逐元素运算:(A ± B)ᵢⱼ = aᵢⱼ ± bᵢⱼ。数乘是把标量 k 乘到每个元素:(k·A)ᵢⱼ = k·aᵢⱼ。它们满足交换律与结合律。
矩阵乘法
A×B 要求 A 的列数 = B 的行数,结果为 (A 行数)×(B 列数) 的矩阵,元素为「行乘列求和」:(AB)ᵢⱼ = aᵢ₁b₁ⱼ + aᵢ₂b₂ⱼ + … + aᵢₙbₙⱼ。矩阵乘法满足结合律与分配律,但一般不满足交换律(AB ≠ BA)。例如 [1 2; 3 4]×[5 6; 7 8] = [19 22; 43 50]。
转置
转置把行与列互换:(Aᵀ)ᵢⱼ = aⱼᵢ,m×n 矩阵转置后为 n×m。 例如 [1 2 3; 4 5 6]ᵀ = [1 4; 2 5; 3 6]。
行列式(Bareiss 消元)
行列式 det(A) 只对方阵定义,是一个标量。二阶 |a b; c d| = ad − bc;高阶可按行/列展开或用消元法。本工具采用Bareiss 分数-free 消元:对整数矩阵,每一步的除法都保证整除、全程保持整数,因此结果为精确整数,不会出现浮点误差。行列式的核心意义:det(A) ≠ 0 ⇔ 矩阵可逆(满秩);det(A) = 0 ⇔ 奇异、不可逆。
逆矩阵(伴随矩阵法)
方阵 A 的逆 A⁻¹ 满足 A·A⁻¹ = A⁻¹·A = I(单位矩阵),仅当 det(A) ≠ 0 存在。本工具用伴随矩阵法:A⁻¹ = adj(A) / det(A),其中伴随矩阵 adj(A) 由各元素的代数余子式Cᵢⱼ = (−1)^(i+j)·Mᵢⱼ(Mᵢⱼ 为去掉第 i 行第 j 列后的子式行列式)转置得到。这样每个逆元素都是「整数余子式 ÷ 整数行列式」的精确有理数,工具同时给出最简分数与小数。
矩阵幂
方阵的幂 Aⁿ 表示 A 自乘 n 次:A⁰ = I、A¹ = A、A² = A×A……本工具用逐次相乘计算,n 取 0 到 20 的非负整数。
算例
设 A = [4 7; 2 6]:det(A) = 4·6 − 7·2 = 10 ≠ 0,故可逆;伴随矩阵 adj(A) = [6 −7; −2 4],所以 A⁻¹ = (1/10)·[6 −7; −2 4] = [0.6 −0.7; −0.2 0.4]。验算 A·A⁻¹ = [1 0; 0 1],即单位矩阵,结果无误。
精度:本工具用高精度十进制运算(decimal.js,约 40 位有效数字),整数矩阵的加减乘、行列式、逆矩阵均为精确结果,除不尽时保留最简分数并四舍五入到所选小数位。
常见问题
- 矩阵加减法和乘法分别怎么算?对维度有什么要求?
- 矩阵加减法是逐元素相加减,要求两个矩阵同型(行数、列数都相同):(A±B)ᵢⱼ = aᵢⱼ ± bᵢⱼ。矩阵乘法则不同——A×B 要求 A 的列数等于 B 的行数,结果的行数等于 A 的行数、列数等于 B 的列数;其元素 (AB)ᵢⱼ 等于 A 第 i 行与 B 第 j 列对应元素乘积之和,即 Σₖ aᵢₖ·bₖⱼ。例如 2×3 矩阵乘 3×2 矩阵得到 2×2 矩阵。注意矩阵乘法一般不满足交换律,A×B 与 B×A 通常不相等,本工具按你填入的顺序计算 A×B。
- 行列式是什么?二阶、三阶行列式怎么求?
- 行列式只对方阵(行数=列数)定义,是一个用来刻画方阵的标量,几何上表示线性变换对面积/体积的缩放倍数。二阶行列式 |a b; c d| = ad − bc;三阶可用对角线法则或按行/列展开(余子式)计算。行列式的一个关键用途是判断可逆性:det(A)≠0 时矩阵可逆,det(A)=0 时为奇异矩阵、不可逆。本工具用 Bareiss 分数-free 消元法计算,对整数矩阵每一步都保持整数、结果为精确整数(不会出现 −1.9999… 这类浮点误差)。
- 逆矩阵怎么求?什么样的矩阵没有逆?
- 只有行列式不为 0 的方阵才可逆。n 阶方阵 A 的逆 A⁻¹ 满足 A·A⁻¹ = A⁻¹·A = I(单位矩阵)。常见求法有两种:①伴随矩阵法,A⁻¹ = adj(A)/det(A),其中伴随矩阵由各元素的代数余子式转置得到;②高斯-约当消元,把 [A|I] 化简成 [I|A⁻¹]。当 det(A)=0(奇异矩阵,各行/列线性相关)时逆不存在,本工具会提示「不可逆」。本工具用伴随矩阵法:对整数矩阵,每个逆元素都是「整数余子式 ÷ 整数行列式」的精确有理数,因此同时给出最简分数与小数,除不尽时按所选小数位四舍五入。
- 矩阵转置、数乘和矩阵幂各是什么意思?
- 转置 Aᵀ 是把矩阵的行和列互换,(Aᵀ)ᵢⱼ = aⱼᵢ,m×n 矩阵转置后变成 n×m;对任意矩阵都能做,不要求方阵。数乘 k·A 是把标量 k 乘到每一个元素上,(kA)ᵢⱼ = k·aᵢⱼ。矩阵幂 Aⁿ 只对方阵定义,表示 A 自乘 n 次:A⁰ = I(单位矩阵)、A¹ = A、A² = A×A,依此类推;本工具用逐次相乘计算,幂次为 0 到 20 的非负整数。
- 计算结果是分数或小数,会有误差吗?支持小数、负数吗?
- 支持整数、小数和负数元素。加、减、乘、数乘、转置、幂只用到加减乘运算,对有限小数输入结果精确无误差;行列式用 Bareiss 消元保持整数精确;逆矩阵按「余子式/行列式」给出精确有理数。全程使用高精度十进制运算(decimal.js,约 40 位有效数字)而非普通浮点,因此像 1/3 这样的结果会保留为最简分数 1/3,并按你选的小数位给近似值(前面带 ≈),不会因二进制浮点产生 0.333…4 之类的偏差。
- 矩阵加法、减法、乘法都满足交换律吗?
- 不一定。矩阵加法既满足交换律也满足结合律:A+B = B+A、(A+B)+C = A+(B+C)。但矩阵减法一般不满足交换律,A−B 与 B−A 通常互为相反数、并不相等(A−B = −(B−A))。矩阵乘法同样一般不满足交换律,A×B 与 B×A 往往不相等,维度不同时甚至无法交换相乘;不过乘法满足结合律与分配律。数乘则满足与标量乘法相容的结合律和分配律,如 k·(A+B) = kA + kB。本工具都按你填入 A、B 的先后顺序计算,做减法、乘法时请留意 A、B 的位置。
- 这个矩阵计算器能解线性方程组吗?和方程组计算器有什么关系?
- 能间接求解。形如 Ax=b 的线性方程组,当系数矩阵 A 可逆时,解为 x = A⁻¹·b:先用本工具求 A⁻¹,再用矩阵乘法乘以列向量 b 即得解向量 x。这与克拉默法则、消元法是等价的。如果你只是想快速解二元一次方程组,直接用页面下方的「二元一次方程组计算器」更方便,它会直接给出 x、y 并判定唯一解/无解/无穷多解;本矩阵计算器则更通用,适合做各类矩阵运算与更高阶的线性代数计算。