\begingroup
我有这个矩阵方程
⎛⎝⎜AC0bdF0埃G⎞⎠⎟⎛⎝⎜X是是⎞⎠⎟= 0(Ab0Cd埃0FG)(X是是)=0
\left(
\begin{array}{ccc}
a & b & 0 \\
c & d & e \\
0 & f & g \\
\end{array}
\right)\left(
\begin{array}{c}
x \\
y \\
z \\
\end{array}
\right)=0
其中所有参数{ A B C D,埃,弗,G}{A,b,C,d,埃,F,G}\{a,b,c,d,e,f,g\}非零;我正在寻找一个非平凡的解决方案{ x , y, z}{X,是,是}\{x,y,z\}即当系数矩阵的行列式为零时。我该如何从 Mathematica 询问这个问题?通常,没有任何假设,它只会给出平凡解零。
system = { a x + b y == 0 , c x + d y + e z == 0 , f y + g z == 0};
Solve[system, {x, y, z}]
(* {{x -> 0, y -> 0, z -> 0}} *)
PS NullSpace
也给出了空答案。
\endgroup
1
最佳答案
2
\begingroup
答案取决于行列式如何消失:
mat = {{a, b, 0}, {c, d, e}, {0, f, g}};
Det[mat]
(* -a e f - b c g + a d g *)
cases = Solve[% == 0]
Grid[{#, NullSpace[mat /. #]} & /@ cases, Dividers -> All]
备注:以上所有解决方案都对应于一般情况,即假设矩阵为二阶。
\endgroup
3
-
\begingroup
非常感谢。因此,由于所有参数都非零,因此只有列表中的第一个情况可以作为非平凡解决方案。
\endgroup
– -
1\begingroup
不客气。你说得对。我忽略了非零条件。
\endgroup
– -
\begingroup
我可以请您解释一下矩阵秩在您的代码中起什么作用吗?
\endgroup
–
|
\begingroup
尝试Reduce
solu = Reduce[{{a, b, 0}, {c, d, e}, {0, f, g}} . {x, y, z} - {0, 0,0} == 0 , {x, y, z}, Backsubstitution -> True];
Simplify[solu, Map[# != 0 &, {a, b, c, d, e, f, g }]]
(*(e f != d g && y == (c g x)/(e f - d g) && z == (c f x)/(-e f + d g)&&a == (b c g)/(-e f + d g))
|| (a e f + b c g != a d g && x == 0 &&y == 0 && z == 0) *)
\endgroup
1
-
\begingroup
非常感谢!简洁又优雅!
\endgroup
–
|
仅仅知道 det=0 不足以得到通解,因为这取决于系数矩阵的秩。
\endgroup
–
|