数学方程求解器,求解!

后使用快捷导航没有帐号?
查看: 1020|回复: 10
在线时间 小时
PREP 上做的一道题
A certain library assesses fines for ouver due books as follows. On the first day that a book is overdue, the total fine is $0.1. For each additional day that the book is overdue, the total fine is either increased by $0.3 or doubled, whichever results in the lesser amount. What is the total fine for a book on the fourth day it is over due?
正确答案选B,搞不明白啊,我选的E,求大神解答啊!
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间 小时
你是题目没读懂,这道题很简单,就是如果借书超过了期限,有两种罚款方式,一是double,另一种是每天加0,3美元,哪个累计罚金更低选哪个
在线时间 小时
这道题我之前也没读懂题,然后在网上找到了很详细的解释,给你贴过来~~~
(1)超过一天增罚0.3或(2)头一天罚款的双倍熟低者.
第1天罚0.1
第2天,(1)0.1+0.3=0.4; (2)0.1*2=0.2, 第2天低者为0.2
第3天,(1)0.2+0.3=0.5; (2)0.2*2=0.4, 第3天低者为0.4
第4天,(1)0.4+0.3=0.7; (2)0.4*2=0.8, 第4天低者为0.7
故答案为0.7
在线时间 小时
本帖最后由 dldrzz000 于
10:22 编辑
这题有点类似计算进程类的题目。
如楼上所说,第一天的罚金是定额的0.1,计算方式两种:一是罚金乘以二,二是是每天加0.3元,结果是每天取比较小的那个计算方式。
第一天 0.1; 第二天 0.1*2=0.2, 0.1+0.3=0.4,于是取0.2;第三天0.2*2=0.4,0.2+0.3=0.5,取0.4;
第四天0.4*2=0.8, 0.4+0.3=0.7,取0.7,于是得到结果。
当然有更明显的分段函数公式,俺相信楼主这时候已经能自己推导出来了。
在线时间 小时
这道题我之前模考的时候也出现过,,上面的解释已经很完善了,。。
在线时间 小时
熙德 发表于
你是题目没读懂,这道题很简单,就是如果借书超过了期限,有两种罚款方式,一是double,另一种是每天加0,3 ...
原来如此,谢谢啦!
在线时间 小时
yuecidy 发表于
这道题我之前也没读懂题,然后在网上找到了很详细的解释,给你贴过来~~~
(1)超过一天增罚0.3或(2)头一天罚 ...
thx~读懂题原来这么简单!
在线时间 小时
dldrzz000 发表于
这题有点类似计算进程类的题目。
如楼上所说,第一天的罚金是定额的0.1,计算方式两种:一是罚金乘以二,二 ...
懂了,多谢解答,读懂题原来这么简单!
在线时间 小时
xuhui1993 发表于
thx~读懂题原来这么简单!
米事~楼主加油~~O(∩_∩)O~~
在线时间 小时
按题目说的,For each additional day that the book is overdue, the total fine is either increased by $0.3,
那第一种算法不应该是,0.1,0.4,0.7,1.0...么?
所属分类: GMAT考试
正在浏览此版块的会员 ()
ChaseDream 论坛
All Rights Reserved.服务热线:
& 最新问题
10-26 17:58
知识点:交集
10-26 01:27
知识点:其他
10-25 19:18
知识点:函数的图象
10-25 19:17
知识点:函数的值域
10-25 19:15
知识点:向量在几何中的应用
10-25 19:14
知识点:已知递推关系求通项
10-25 16:39
为什么不用考虑元内函数是减函数
知识点:指数函数的图象与性质 数列的通项公式
10-24 22:26
知识点:均值定理求最值
10-24 22:25
知识点:函数的最值
10-24 22:25
知识点:均值定理求最值
10-24 19:36
知识点:长度型
10-24 19:23
知识点:随机抽样
10-24 19:21
知识点:随机抽样
10-24 19:14
知识点:随机抽样
10-24 18:08
知识点:离散型随机变量的方差
10-24 18:03
知识点:离散型随机变量的方差
10-24 12:44
知识点:函数与方程的关系
10-24 12:28
什么是穿根法
知识点:高次不等式
10-24 12:26
双勾函数是什么,有什么用
知识点:知识点总结
10-23 12:46
请老师解答一下数学问题
知识点:圆的切线
热点关注问题
提问同学:
解答教师:
知识点:全等三角形的性质及判定
提问同学:
解答教师:
知识点:文言文阅读
提问同学:
解答教师:
知识点:导数的除法法则
提问同学:
解答教师:
知识点:溶质质量分数的计算 饱和溶液和不饱和溶液之间的相互转化
提问同学:
解答教师:
知识点:两角和与差的正弦、余弦、正切公式
[高中数学]
答题数:1547
学生评分:4.94
[高中物理]
答题数:697
学生评分:4.97
[初中数学]
答题数:698
学生评分:4.83
[初中物理]
答题数:178
学生评分:4.83
轻松成为德智会员:
选择会员类型
成为德智会员
目录式课程
德智体验中心:咨询&400
辽宁省 锦州市 郭老师
内蒙古 赤峰市 张老师
内蒙古 满洲里 路老师
贵州省 毕节市金沙县 李老师
吉林省 长春市农安县 卜老师
吉林省 长春市 市区 匡老师
山西省 长治市 张老师
山西省 大同市 吕老师
河南省 许昌市禹州市 贾老师
陕西省 榆林市 乔老师
老师布置的作业太多,
没时间自己巩固提高?
不知道自己弱项在哪,
是不是还有漏网之鱼?
课内知识听不懂、跟
不上,快要想放弃?
难题越积攒越多,不
好意思张口问?
每道题都似曾相识,但
还是做不出正确答案?
德智帮你解决学习中的所有问题!俗语新解,用数学的眼光看世界 | 科学人 | 果壳网 科技有意思
俗语新解,用数学的眼光看世界
本文作者:方弦
很多俗语,其实都是人们对经验的概括。它们未必很准确,却总是有些道理。如果我们尝试用数学的眼光去分析这些俗语,又会得到什么结果呢?
上得山多终遇虎
靠山吃山靠水吃水,住在山边的人,馋了上山打猎,病了上山采药,总之是经常与大自然亲密接触。但是,在古代,环境还没有被破坏得这么厉害,山上有老虎是常有的事。尽管一只老虎的领地可达数平方公里,它也不是天天在领地闲逛,所以上山打一次猎遇到老虎的概率也不高。但对于那些天天上山打猎的老猎人来说,在职业生涯中一次老虎都没有遇到过,倒是件稀有的事。所谓“上得山多终遇虎”,大概就是指的这种情况。
假设猎人每次上山打猎,遇到老虎的概率是 p,也就是说遇不到老虎的概率是 1 - p。那么,在 m 次打猎中,每次都没有遇到过老虎的概率就是 (1 - p)^m。只要有可能遇到老虎(相当于说 p & 0),当 m 越来越大时,(1 - p)^m 就会越来越小,最终趋向于 0。也就是说,尽管每次倒霉遇上老虎的概率不高,但如果每天都去打猎的话,总有一天会倒霉的。
可能有人会反过来想:我每次买彩票,中头奖的概率都不是 0;那么,总有一天我会中头奖的。这种想法既对又不对。理论上来说,一直买下去的话的确总有一天会中奖,但是大概要买多少遍才会中头奖呢?以 36 选 7 为例,中头奖的概率是 1 / C(36, 7),所以大概要买 C(36, 7) 期会有一期中头奖,那是大概八百万期,也就是大概两万年。两万年后,福彩是否存在还是个问题。
而对于猎人来说,每次上山遇虎的概率显然没有那么低。要是听到虎啸也算遇虎的话,千分之一应该算是一个不错的估算。这样算来,大概打一千次猎就会有一次遇到老虎。对于经常上山的猎人来说,大概十多年就有这个数了,难怪“上得山多终遇虎”。
现在环境破坏得严重,要“遇虎”,大概只能到动物园去了,山里反倒非常安全。“盛世出猛虎”之类的,只能是笑话了。
“坐吃山空”,大概是告诫那些只愿吃闲饭不愿干活的人,无论家里有多少钱,总有一天要吃光的。
在忽略货币变化的前提下,假设家里的存款是 M,一顿饭只需要花费 m,这些存款也只能支撑 M/m 顿饭,也就是说人是不可能永远吃闲饭吃下去的。
用数学的语言来说,只要 m 不是 0,无论 m 多么小,将很多同样的 m 加起来,我们可以得到要多大有多大的数。这种性质叫做实数的阿基米德性质。
利用阿基米德性质,我们能解释 0.999... = 1 的问题。假设 p = 1 - 0.999... ,如果 p 不等于 0 的话,p 就是一个正实数。根据阿基米德性质,总存在一个整数 M,使得 M*p ≥ 1。于是 p ≤ 1/M,1 - 1/M ≥ 1 - p = 0.999... 。然而,这是不可能的,因为 1/M 总会在小数点后某一位开始非 0,导致 1 - 1/M 不等于 0.999... 。这个矛盾表明我们的假设是错误的,也就是说其实 0.999... = 1。
很多我们常见的数都有阿基米德性质,比如说有理数、实数、复数。当然,对于复数来说,“要多大有多大”就要重新定义了,一般是用它的范数——也就是在复平面上与原点的距离——来定义的。在复数里边,就应该是可以得到范数要多大有多大的数。
也有一些数是没有阿基米德性质的,比如说 p 进数。它们的结构普遍比实数的要复杂得多,也能表达更多的东西。
从来只听过开赌场而富甲一方的,没听过有赌徒能靠赌博过上幸福生活的,反倒是家破人亡的不计其数。在赌场赌博的话,略去抽头不谈,就连赌局本身也是对赌场有利的。说难听点,去赌场赌钱就相当于直接送钱给赌场老板。就算是一对一机会均等的赌局,要是一直赌下去的话,也总有一天会输光的。这就是“久赌必输”。
假设每盘赌局的赌注是 1,而赌徒的财产是 n。在每盘赌局中,赌徒有 1/2 的概率赢,有 1/2 的概率输。那么,如果一直这样赌下去的话,赌徒输光的概率是多少呢?
显然,赌徒的钱越多,输光需要的局数也越多。当赌徒的财产是 n 时,我们记输光的概率为 p(n)。因为每次赌局有一半的可能赢,一半的可能输,赢的时候财产变成 n + 1,输的时候变成 n - 1,所以 p(n) = (p(n + 1) + p(n - 1))/2。当 n = 0 的时候,即使不用赌,所有东西都输光了,所以 p(0) = 1。
所以,p 可以看作一个满足下列递推关系的数列:
p(n+1) = 2 * p(n) - p(n-1),也就是 p(n+1) - p(n) = p(n) - p(n-1)
容易验证 p(n) = n * p(1) - (n-1) 正好符合上面的递推关系。因为 p(n) ≥ 0,所以对于任意的 n,必定有 p(1) ≥ 1 - 1/n。因此 p(1) = 1,并且对于所有的 n,p(n) = 1。在无限次的赌博中,赌徒在某一次赌博中输光的概率是 1。
赌徒的赌博轨迹,可以用所谓的马尔可夫链来描述。把赌徒的财产值视为不同的状态,而每次赌局则相当于在这些状态之间转移,赢钱时转移到钱多些的状态,输钱时转移到钱少些的状态。而破产的状态就像个陷阱,是跳不出的,因为已经没有赌本了。如果一条马尔可夫链有这样的“陷阱”状态,而每一个状态都有可能到达“陷阱”的话,在不断的转移中,总有一天会掉到“陷阱”里去。所谓“久赌必输”,其实说的就是这么一个道理。
你可能感兴趣
关于“久赌必输”是有些牵强的,在公平赌局的情况下,因为对于所有的 n&=0, 都有 p(n)=1,那么取n=1000亿,因而在无限次的赌博中,赌徒在某一次赌博后,手头会有1000亿的概率也是1。因而从另一方面去想,同样也可以哗众取宠的说“久赌 必 赢”,这样就一点也不骇人听闻了。实际上公平赌局是没有什么可指责的,“久赌必输”不应该和它扯上关系。
显示所有评论
全部评论(55)
如果每天都去打猎的话,总有一天会倒霉的。
插图太给力了~
在豆瓣收了全套图~
所以 p(n) = (p(n
p(n -1))/2。p(n) ≥ 0,所以对于任意的 n,必定有 p(1) ≥ 1 - 1/n。因此 p(1) = 1这两个都不懂………
有趣! 数学无处不在.
求豆瓣链接……引用 orangec3 的回应:在豆瓣收了全套图~
这些图怎么找的??喜欢
这些图的函数怎么找到的?谢谢。
搜“数学家眼中的世界”可以找到图~
经济学爱好者
关于这些图,趣科技站以前有过这个内容:
关于“久赌必输”是有些牵强的,在公平赌局的情况下,因为对于所有的 n&=0, 都有 p(n)=1,那么取n=1000亿,因而在无限次的赌博中,赌徒在某一次赌博后,手头会有1000亿的概率也是1。因而从另一方面去想,同样也可以哗众取宠的说“久赌 必 赢”,这样就一点也不骇人听闻了。实际上公平赌局是没有什么可指责的,“久赌必输”不应该和它扯上关系。
这个......
科学松鼠会成员,信息学硕士生
引用 钓主 的回应:关于“久赌必输”是有些牵强的,在公平赌局的情况下,因为对于所有的 n&=0, 都有 p(n)=1,那么取n=1000亿,因而在无限次的赌博中,赌徒在某一次赌博后,手头会有1000亿的概率也是1。因而从......p(n)的定义是在初始拥有财产n的状态下,在有限次公平赌博中输光的概率。不知道你这个解释是怎么来的……
引用 fwjmath 的回应:引用 钓主 的回应:关于“久赌必输”是有些牵强的,在公平赌局的情况下,因为对于所有的 n&=0, 都有 p(n)=1,那么取n=1000亿,因而在无限次的赌博中,赌徒在某一次赌博后,手头会有1000亿......我看错了p(n)的定义, 不过如果我设p(m)是赌徒会在有限次赌博后财产能够达到m的概率,只要赌徒初始财产n&0,那么这个概率就是1
(一维的对称随机徘徊是遍历的和常返的)
假设每盘赌局的赌注是 1,而赌徒的财产是 n。在每盘赌局中,赌徒有 1/2 的概率赢,有 1/2 的概率输。那么,如果一直这样赌下去的话,赌徒输光的概率是多少呢?-------------如果输赢各半,按照对称性,赌徒和赌场是等价的。如果 “在无限次的赌博中,赌徒在某一次赌博中输光的概率是 1。”,那么对于赌场,同样。这个问题的要点不在于全输全赢的概率为1,事实上,会遍历所有状态。要点在于赌场的实力雄厚,能够撑到赌徒崩溃而已。另外,事实上赌场会采用一些不对等的小伎俩来确保自己的胜面较大。如买大小时,最大最小都算庄家赢。文章写的很好,如果提交前找人检查一下,就更好了!
曲线是.....拟合的么?
经济学爱好者
引用 ET民工 的回应:假设每盘赌局的赌注是 1,而赌徒的财产是 n。在每盘赌局中,赌徒有 1/2 的概率赢,有 1/2 的概率输。那么,如果一直这样赌下去的话,赌徒输光的概率是多少呢?-------------如果输......我觉得重点是赌注只0了是一个“陷阱”,陷入这个陷阱一切就都终结了。相对赌徒来说,赌场的赌本应该是无穷大的,这算是一个基本设定吧。
科学松鼠会成员,信息学硕士生
引用 钓主 的回应:我看错了p(n)的定义, 不过如果我设p(m)是赌徒会在有限次赌博后财产能够达到m的概率,只要赌徒初始财产n&0,那么这个概率就是1 (一维的对称随机徘徊是遍历的和常返的) .但是这里不是对称随机徘徊,它有一个吸收状态n=0,所以既不是遍历的也不是常返的。
科学松鼠会成员,信息学硕士生
引用 ET民工 的回应:假设每盘赌局的赌注是 1,而赌徒的财产是 n。在每盘赌局中,赌徒有 1/2 的概率赢,有 1/2 的概率输。那么,如果一直这样赌下去的话,赌徒输光的概率是多少呢?-------------如果输......如果是按照赌场赌本有限的假设的话,当然可以算这个输光概率,如果我没有记错的话,这个概率是M/(m+M),m是赌徒的赌本,M是赌场的赌本。问题是,在现实生活中,赌徒即使把赌场赢光了,他还会去找下一个赌场来赌……所以对手的赌本可以看作无穷大。实际生活中赌场当然不会玩公平赌博。不过如果是赌徒之间的话,倒是非常有可能玩公平的赌博。
动物学硕士,猫咪控
这么学数学,好耶~
引用 fwjmath 的回应:引用 钓主 的回应:我看错了p(n)的定义, 不过如果我设p(m)是赌徒会在有限次赌博后财产能够达到m的概率,只要赌徒初始财产n&0,那么这个概率就是1 (一维的对称随机徘徊是遍历的和常返的) .但是......赌徒的赌金会大于任意先给定的值也是吸收的状态(如果愿意的话),遍历和常返是没问题的,问题的关键如 ET民工 所说,不是输光的概率为1,而是一些其它的原因,再次强调,公平赌博是不应该加以指责的,赌徒输光的平均次数是无穷,赌场如果打算以此来榨干赌徒的钱的话,赌徒是没有必要害怕自己输光的。
我记得统计学里有个“赌徒的灭亡”……
现在每天复习考研,看了这个,竟觉得没意思了… 唉,罪过啊
科学松鼠会成员,信息学硕士生
引用 钓主 的回应:引用 fwjmath 的回应:引用 钓主 的回应:我看错了p(n)的定义, 不过如果我设p(m)是赌徒会在有限次赌博后财产能够达到m的概率,只要赌徒初始财产n&0,那么这个概率就是1 (一维的对称随机......每个非0态都有非0的概率不会返回,也就是说每个态都是transient的(除了n=0),所以不是常返的。遍历就更不可能了,那起码要求每个态是常返的。的确赌徒输光的平均次数是无穷,不过这不代表某个态是常返的,道理跟你指出的在无穷远处的态可以视为吸收态相同,不过这不代表这条马尔可夫链是常返的。
引用 fwjmath 的回应:引用 钓主 的回应:引用 fwjmath 的回应:引用 钓主 的回应:我看错了p(n)的定义, 不过如果我设p(m)是赌徒会在有限次赌博后财产能够达到m的概率,只要赌徒初始财产n&0,那么这个概率就是......我承认 遍历和常返 是个愚蠢的错误,不过从某一方面讲,它也是一个饵,就像你说“久赌必输”一样,这个说法同样以一种有意的片面吸引人上钩。(关于有意的片面,并不是 说法不对,而是 没有说出全部,造成的结果是有些 夸大其词,当然这是作文的手段和技巧,有着另外的考虑,本身并不应该被加以指责)
科学松鼠会成员,信息学硕士生
引用 钓主 的回应:我承认 遍历和常返 是个愚蠢的错误,不过从某一方面讲,它也是一个饵,就像你说“久赌必输”一样,这个说法同样以一种有意的片面吸引人上钩。(关于有意的片面,并不是 说法不对,而是 没有说出全部,造成的结果是有些 夸大其词,当然这是作文的手段和技巧,有着另外的考虑,本身并不应该被加以指责.我想你误会了一点。我是实地见过赌徒间公平赌博的。在珠三角地区网吧还不发达的时候,很多外来务工人员的娱乐就是赌博,而通常赌博的双方条件都是对等的。在我听说的事例中,不乏有赌得整个月工资都搭进去的。所以,即使是公平赌博,也还是不要去碰的为好,我想说的就是这一点。我不知道您说的“有意的片面”是指什么。
引用 fwjmath 的回应:引用 钓主 的回应:我承认 遍历和常返 是个愚蠢的错误,不过从某一方面讲,它也是一个饵,就像你说“久赌必输”一样,这个说法同样以一种有意的片面吸引人上钩。(关于有意的片面,并不是 说法不对,而是 没有......“不乏……”和“必输”当然有着差别,不过这不要紧。如果是真正公平的赌博的话(实际上是有些人技术可能比较逊),大家都本着娱乐的心态,也足以打发无聊的人生,用不着说必输之类的话,有意或者刻意(这就是有意的片面) 显得有些危言耸听。实际上,据我的观察,经常在一起打牌的牌友 最后算起账来 都是 不赢不输。
当然,即使是这样,从积极一点的眼光看,也可以说他们都输了——输光了他们的时间。我以为除去劝赌的用意,对于公平赌博而言,虽然必输的说法没错,但是这显然不是唯一正确的结论,在一些策略下,必赢 或者 必不赢不输(当然都是对无限次玩下去的平均)也是可能的, 任何实际的玩家不要指望从中谋利,也完全不必过分担忧输光,这才是 公平赌博 的全部,也是它的实质。
科学松鼠会成员,信息学硕士生
引用 钓主 的回应:引用 fwjmath 的回应:引用 钓主 的回应:我承认 遍历和常返 是个愚蠢的错误,不过从某一方面讲,它也是一个饵,就像你说“久赌必输”一样,这个说法同样以一种有意的片面吸引人上钩。(关于有意的片面......我的用意正是劝赌。要是为了娱乐的话,大可不必用钱赌博,算点分数什么的问题不大。
这是对的,设置任意点为吸收态(比如赚到100万立即退出;当然,为消除0点吸收态需要允许借贷)都可以得到概率为1的结论。另一个直观的思考角度,公平赌博中,赌场与赌客地位同等,那么赌场赔光概率也是1喽。我赔你赔他赔,那么钱到哪里去了?其实这里得到的概率为1并不是针对特定时刻,而是无限时间内的必然结果,即必然会到达一次指定状态(常返)。所以这个论证没任何意义,还是考虑赌本的公平赌博下,计算双方输光的概率比较有意义。引用 钓主 的回应:关于“久赌必输”是有些牵强的,在公平赌局的情况下,因为对于所有的 n&=0, 都有 p(n)=1,那么取n=1000亿,因而在无限次的赌博中,赌徒在某一次赌博后,手头会有1000亿的概率也是1。因而从......
显示所有评论
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号LAPACK数学库的使用实例解说
已有 9324 次阅读
|系统分类:|关键词:MKL 数学库 物理问题
使用INTEL FORTRAN编译器求解矩阵问题时,其自带的MKL数学库是非常好的选择。下面介绍一个在量子物理问题的数值求解中的应用。物理问题:空间中$n$个电子,质量为$m$,相距为$a$,放置在一维势阱($U=0.0$)中,只计最近邻相互作用,求其耦合能谱分布。$n$大于3时可以考虑周期性边界条件。第一步,转化为矩阵方程。因为求定态问题,列定态薛定谔方程如下:$[-\frac{\hbar^2}{2m}\frac{\partial^2 }{\partial x^2}+U(x)]\psi=E\psi$其中含有一个二阶导数,因为是数值求解,我们用二阶差分代替它,$\frac{\partial^2\psi(x) }{\partial x^2}|_{x=x_n}\rightarrow \frac{\psi(x_{n+1})-2\psi(x_{n})+\psi(x_{n-1})}{a^2}$这里采用$a$作为微分步长,因为$a$是个常数,不妨把它与其它常数写在一起,定义$t_0=\frac{\hbar^2}{2ma^2}$同时在一维势阱中$U(x_n)$也是个常数,简化成$U_0$。稍做整理,薛定谔方程就变成了差分形式的递推式$(U_0+2t_0)\psi_n-t_0\psi_{n-1}-t_0\psi_{n+1}=E\psi_n$由于波函数的正交性有$\psi_m^*\psi_n=\delta_{m,n}$,因为我们在上式两边同乘以$\psi_m^*$并对$m$求和$\sum_{m}[(U_n+2t_0)\delta_{n,m}-t_0\delta_{n,m+1}-t_0\delta_{n,m-1}]\psi_m=E\sum_{m}\delta_{n,m}$可见只有当$|n-m|&=1$时矩阵元不为零:$[H]=\begin{bmatrix}U+2t_0 & -t_0 & 0 &\cdots & &0 \\ -t_0 & U+2t_0 & -t_0 &\cdots &0 \\ 0 & -t_0 & U+2t_0 && \cdots &0 \\ \vdots & \vdots && \vdots && \ddots && \vdots \\0 & 0 & 0 & \cdots & U+2t_0\end{bmatrix}$ 要找到向量$E$使得$[H]-[EI]=0$,这样转化成了求$[H]$本征值问题。第二步,利用数学库求解本征值问题。观察$[H]$矩阵可见,这是一个实对称矩阵,其本征值为一系列实数。于是我们在MLK数学库中寻找(实)对称矩阵本征值的子程序。打开MKL的REFERENCE MANUAL/sites/products/documentation/doclib/mkl_sa/11/mklman/index.htm找到LAPACK Routines: Least Squares and Eigenvalue Problems 下的 - Driver Routines- Symmetric Eigenproblems- ?syev从说明可见这个函数正是我们所需要的。?syev是子程序的名字,其中前面的问号可以用不同字母替换来适用于不同精度。这个问题中我们将采用双精度,所以按理说应该使用dsyev。不过在FORTRAN 95中,我们不需要手动选择精度,程序会根据我们定义的矩阵数据类型来确定所使用的子程序,所以我们只要无视问号选用syev就可以了。最简单的情况是体系中有两个电子,即求解矩阵$\bigl(\begin{smallmatrix}2.0 &-1.0 &\\ -1.0 &2.0 \end{smallmatrix}\bigr)$的本征值问题(设$t_0=1.0$)。程序如下program mainUSE mkl95_LAPACK &implicit noneinteger, parameter :: nAtoms=2real*8, dimension(nAtoms,nAtoms) :: mtHreal*8, dimension(nAtoms) :: egWinteger :: iRowreal*8, parameter :: t0 = 1.d0, U0 = 0.d0mtH(:,:) = 0.d0do iRow = 1, nAtoms-1mtH(iRow,iRow) = 2.d0 * t0 + U0 !! 赋值对角元,少了最后一个mtH(iRow,iRow+1) = -t0mtH(iRow+1,iRow) = -t0 !! 赋值次对角元end domtH(nAtoms,nAtoms) = 2.d0 * t0 + U0 !! 补上最后一个对角元call syev(mtH,egW) !! 调用MKL子程序do iRow = 1, nAtoms print*,iRow,egW(iRow) !! 打印输出结果end doend程序段很简单,有几个注意的地方:1. 第二行 USE mkl95_LAPACK 是必要的,因为需要调用外部函数;2. mtH是哈密顿矩阵(MatrixHamiltonian,2$\times$2实矩阵),egW是存放本征值的列向量(EigenValue,2$\times$1实向量),它们作为输入参数被SYEV调用;3. syev是前述的MKL子程序,从手册中我们可以看到这个程序可以输入的参数很多,即使在FORTRAN95中也有多达5个参数call syev(a, w [,jobz] [,uplo] [,info])不过后面三个是可选的,也就是说如果我们只需要本征值的话,后面的三个可以完全不写。不过有时候我们还想知道本征向量,那么就要使用后面的选项,将jobz设置为'V',这样在运行过后原先的输入矩阵a就被本征向量矩阵覆盖了。第三步,编译运行。程序完成后需要编译运行,不过因为调用了MKL库,我们需要告诉程序MKL库的位置。这一步稍微复杂一些。先找到计算机中MKL的安装位置,通常会跟INTEL FORTRAN 编译器放在一起。以下是以笔者的系统为例,在系统终端输入which ifort得到/opt/intel/bin/ifort那么在/opt/intel这个文件夹寻找MKL的安装路径,发现为/opt/intel/mkl/lib/intel64注意区分32位和64位的库。然后开始编译,假定刚才写的源程序文件名为a.f90,用命令ifort a.f90 &-I/opt/intel/mkl/include/intel64/lp64 -L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -liomp5嗯,看起来比较长,不过一般不需要改动。大体说一下参数的意义:首先 -L是标明后面要紧接着给出库文件所在的路径,这里我们加上MKL的lib文件夹。如果采用这种方法写的话,后面的库文件名就需要一个小的变动。比如我们在lib文件夹中可以发现名叫libmkl_core.a和libmkl_core.so的文件(其实是同样功能,只不过前面是静态库,后面是动态库),但是在编译中我们要把lib写成-l,因此就变成了-lmkl_core。这个库是MKL的核心库,一般要使用MKL时都需要调用。其它重要的库还有blas95和lapack95这两个,lapack95就是我们需要的FORTRAN95版本的LAPACK,它依赖于blas95,所以要一起调用。另一块以-I开头的是include,这里我们在程序中用到了use&mkl95_LAPACK,这个被使用的mkl95_LAPACK.mod文件就放在MKL的INCLUDE文件夹下,大家可以找找看。其它的几个库都是起辅助作用的,比如线程管理之类,只要包含进来就可以了。编译通过之后,产生了a.out文件,运行它就输出两行1 & 1.002 & 3.00这里打印出了体系的本征能量。还记得计算之前两个电子的能量吗?$U_0+2t_0=2.0$。所以在两个电子相互耦合之后,共同构成了两个新的能级,刚好是1.0和3.0。是不是很简单呢?这样我们就可以求更大一些的体系,比如五电子链体系。这时候除了刚才的做法,还可以考虑周期性边界条件,具体来说就是在设置$[H]$矩阵时将两个角上的矩阵元$\left \langle 1|H |5 \right \rangle$和$\left \langle 5|H |1 \right \rangle$也设置为$-t_0$就可以了(不考虑的时候是零)。这时的矩阵依然是实对称矩阵,还是可以用上面的MKL子程序来求解。
转载本文请联系原作者获取授权,同时请注明本文来自纪维霄科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:0
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &}

我要回帖

更多关于 单变量求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信