Mathematica 应该如何生成这种排列式列表?应该如何生成这种排列式列表?例如:输入:s1={c1,c2,c3,c4,c5,c6};输出:s2={{c2,-c1,0,0,0,0},{ 0,c3,-c2,0,0,0},{0,0,c4,-c3,0,0},{0,0,0,c5,-c4,0},{0,0,0,0,c6,-c5}}

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 05:59:17
Mathematica 应该如何生成这种排列式列表?应该如何生成这种排列式列表?例如:输入:s1={c1,c2,c3,c4,c5,c6};输出:s2={{c2,-c1,0,0,0,0},{ 0,c3,-c2,0,0,0},{0,0,c4,-c3,0,0},{0,0,0,c5,-c4,0},{0,0,0,0,c6,-c5}}

Mathematica 应该如何生成这种排列式列表?应该如何生成这种排列式列表?例如:输入:s1={c1,c2,c3,c4,c5,c6};输出:s2={{c2,-c1,0,0,0,0},{ 0,c3,-c2,0,0,0},{0,0,c4,-c3,0,0},{0,0,0,c5,-c4,0},{0,0,0,0,c6,-c5}}
Mathematica 应该如何生成这种排列式列表?
应该如何生成这种排列式列表?
例如:
输入:s1={c1,c2,c3,c4,c5,c6};
输出:s2={{c2,-c1,0,0,0,0},{ 0,c3,-c2,0,0,0},{0,0,c4,-c3,0,0},{0,0,0,c5,-c4,0},{0,0,0,0,c6,-c5}}

Mathematica 应该如何生成这种排列式列表?应该如何生成这种排列式列表?例如:输入:s1={c1,c2,c3,c4,c5,c6};输出:s2={{c2,-c1,0,0,0,0},{ 0,c3,-c2,0,0,0},{0,0,c4,-c3,0,0},{0,0,0,c5,-c4,0},{0,0,0,0,c6,-c5}}
借由你这个问题,我学习了一下一直没注意过的SparseArray的用法嗯:
SparseArray[{Band[{1, 1}] -> Rest@s1, Band[{1, 2}] -> -Most@s1}] // Normal
 此外还可以:
Plus @@ (DiagonalMatrix[#, #2, {5, 6}] & @@@ {{Rest@s1, 0}, {-Most@s1, 1}})