Saturday, April 25, 2015

生成方程组 自定义函数 在 3x3 的正方格点上, 每个格点都对应一个变量 格点不要太大, 老板说 20~30个变量就好了. 太大了最优化算法不收敛.最小化一个 hamiltonian

如何生成方程组 - 豆瓣

www.douban.com/group/topic/50480424/ 轉為繁體網頁
2014年3月22日 - 每个格点都和它周围的四个格点有关系. 用了周期性边界条件, 最左边/上面的会和最右边/下面的连上. 然后我希望对每个格点i, 生成一个方程. 例如

生成方程组
cmp

来自: cmp(const void*, const void*) 2014-03-22 11:24:32

  • Everett

    Everett (╮(╯▽╰)╭ ~(= ̄ U  ̄=)~) 2014-03-22 13:40:51

    线性方程的话直接构造矩阵求解就可以了。矩阵的构造方法是 SparseArray
  • cmp

    cmp (const void*, const void*) 2014-03-22 14:03:37

    线性方程的话直接构造矩阵求解就可以了。矩阵的构造方法是 SparseArray 线性方程的话直接构造矩阵求解就可以了。矩阵的构造方法是 SparseArray Everett
    嗯不是线性的… 是 J sum{ -cos θ_i sin θ_j - Δ sin θ_i cos θ_j} - h sin θ_i == 0 这样的。

    我想了想用了 Table + 用于处理下标的自定义的函数,貌似可行。然后用 NSolve 一下。

    还剩几个问题。像这样一大群待求变量,用 Mathematica 怎么处理比较好呢?用下标,List 还是什么?

    另外,像这种自定义函数,如何封装比较好? Module 么?
  • Everett

    Everett (╮(╯▽╰)╭ ~(= ̄ U  ̄=)~) 2014-03-22 14:37:23

    变量本身是下标的函数,比如θ[i]
  • Everett

    Everett (╮(╯▽╰)╭ ~(= ̄ U  ̄=)~) 2014-03-22 14:38:29

    嗯不是线性的… 是 J sum{ -cos θ_i sin θ_j - Δ sin θ_i cos θ_j} - h sin θ_i == 0 这样 嗯不是线性的… 是 J sum{ -cos θ_i sin θ_j - Δ sin θ_i cos θ_j} - h sin θ_i == 0 这样的。 我想了想用了 Table + 用于处理下标的自定义的函数,貌似可行。然后用 NSolve 一下。 还剩几个问题。像这样一大群待求变量,用 Mathematica 怎么处理比较好呢?用下标,List 还是什么? 另外,像这种自定义函数,如何封装比较好? Module 么? ... cmp
    未必需要定义处理下标的函数,一般是用模式匹配 {i_,j_}/;Mod[j-i,L]==1
  • cmp

    cmp (const void*, const void*) 2014-03-28 12:53:50

    未必需要定义处理下标的函数,一般是用模式匹配 {i_,j_}/;Mod[j-i,L]==1 未必需要定义处理下标的函数,一般是用模式匹配 {i_,j_}/;Mod[j-i,L]==1 Everett
    我终于解决了这些问题!

    我最早想要的是最小化一个 hamiltonian. 后来发现还是用 NMinimize 比较好, 用 NSolve 经常跑不出来.

    然后格点不要太大, 老板说 20~30个变量就好了. 太大了最优化算法不收敛.


生成函數與差分方程

episte.math.ntu.edu.tw/articles/mm/mm_02_4_10/
方程(1)之解是一用n 表達an 的一般形式。我們先討論應用生成函數 (generating function) 的方法求滿足邊界條件(2)之方程(1)的解。 我們先提出生成函數的定

No comments:

Post a Comment