作业帮 > 综合 > 作业

Mathematica 应该如何生成这种排列式列表?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/30 12:45:14
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 应该如何生成这种排列式列表?
借由你这个问题,我学习了一下一直没注意过的SparseArray的用法嗯:
SparseArray[{Band[{1, 1}] -> Rest@s1, Band[{1, 2}] -> -Most@s1}] // Normal
 此外还可以:
Plus @@ (DiagonalMatrix[#, #2, {5, 6}] & @@@ {{Rest@s1, 0}, {-Most@s1, 1}})