斜体文字描述了我的总体目标,如果有人感兴趣的话。问题在下面。
我正在尝试使用 Mathematica 8 绘制简单分子的能级。我的方法很粗糙,如下所示:
- 求简单 Hückel 矩阵的特征值。
- 删除重复项并确定列表的大小。
- 通过比较重复列表和无重复列表来评估退化的数量。
- 创建 anx 2 零矩阵,其中 n 是唯一能级的数量。
5. 用唯一能级填充第一列,用简并度填充第二列。
步骤 5 中生成的矩阵如下所示:
(1 2)
(3 1) == M
(-1 1)
我希望评估第 2 列的最大值,然后在同一行但在第 1 列中找到元素的值。在这种情况下,我正在寻找的答案是 1。
这些命令都计算为 -1:
Extract[M[[All, 1]], M[[Max[M[[All, 2]]], 1]]]
M[[Max[M[[All, 1]]], 1]]
这不是我想要的答案。
有小费吗?
编辑:这个
Part[Part[Position[M, Max[M[[All, 2]]]], 1], 1]
有效,但我不明白为什么我必须使用 Part[] 两次。