嗯,那就謝謝二位的 comment. Monte Carlo 就維持那本了,數值就慢慢再找,在
此也順便跟這個 mailing list 上有興趣的人報告一下剛剛發現的有趣文章當作起
點:
http://w3.math.sinica.edu.tw/math_media/d171/17102.pdf
pingooo <
ping.n...@gmail.com> writes:
> 搜尋一下各大學相關課程的課本?
>
>
> 2013/5/6 weijr <
tze...@gmail.com>
>
>> 我只有大學程度的數值計算,所以也談不上什麼推薦。
>> 不過如果圖書館有的話,可以先翻翻看。
>>
>> Albert Huang於 2013年5月3日星期五UTC+8下午7時47分41秒寫道:
>>>
>>> weijr and pingooo,
>>>
>>> 在這裡趕緊請教二位,數值方法與 Monte Carlo 分別該看哪一本書比較適合入門?
>>> 數值方法我還沒找到,Monte Carlo 的有 Christian P. Robert 的 "Monte Carlo
>>> Statistical Method" 不過這本因為台灣目前沒有,需要從 Amazon 直接訂購,所
>>> 以先請教一下這本適合與否。
>>>
>>> 謝謝二位的推薦!
>>>
>>> Albert
>>>
>>>
>>> weijr <
tze...@gmail.com> writes:
>>>
>>> > 如果是取中點的話,是 >=3 沒有錯。Simpson 應該就是 >=9。不過這牽扯到函數的性質。
>>> > 蒙地卡羅就猛在根本不管函數的性質,**像圍棋這種說不清楚的也適用。
>>> >
>>> > pingooo於 2013年5月3日星期五UTC+8下午4時08分31秒寫道:
>>> >>
>>> >> 補充一下...
>>> >>
>>> >> 太久沒算有點記不得細節,但在多維度積分的問題裡,**蒙地卡羅和分割相空間兩種算法,在高於三維(吧?)的時候,**蒙地卡羅其實收歛得比較快。
>>> >>
>>> >>
>>> >> 2013/5/3 weijr <
tze...@gmail.com <javascript:>>
>>> >>
>>> >>>
>>> >>> Monte Carlo 並非不好,但只能算是底線(還有很好的驗算/除錯工具)。
>>> >>> 粗看題目是 n 維空間,但就如我前面已經寫過,**遞迴關係一個一個算就可以把維度拉平,
>>> >>> 變成 n 個低維度的問題。粗看之下每個積分都是二維的,(V, Y=\sum X_i)
>>> >>> 但既然 V 是 uniform,原則上這一個積分可以直接積出,**所以只剩一個一維積分。
>>> >>> 剛才真的算了一下,的確如此。
>>> >>>
>>> >>> 另外 please keep it DRY, don't WET(write everything ten-times)
>>> yourself.
>>> >>> 除了寫起來很辛苦外,也會影響你的理解,就像原來的式子,**東西也重複三次(這點前面也寫過)。
>>> >>>
>>> >>> 給原 PO 的建議
>>> >>> 1 靠你自己,而不是 compiler/numpy,想辦法將你現在的 python 程式碼速度增加十倍。
>>> >>> 2 真正理解一下 Monte Carlo 的意義,然後用在這裡。
>>> >>> 3 如果真的有興趣,可以了解一下重積分、CDF、數值積分。
>>> >>>
>>> >>> Albert Huang於 2013年5月2日星期四UTC+8下午5時24分09秒寫道:
>>> >>>>
>>> >>>> Hi,
>>> >>>>
>>> >>>> Monte Carlo 在積分上的應用,我最近在 Christian P. Robert 的 "Monte Carlo
>>> >>>> Statistical Method" 上有看到一章是 "Monte Carlo Integration"。我也正在看
>>> >>>> 前面的章節,還沒看到後面的,不過有投影片可以參考一下:
>>> >>>>
http://www.ceremade.dauphine.****fr/~xian/coursMC.pdf<http://**
>>>
www.ceremade.dauphine.fr/~**xian/coursMC.pdf<
http://www.ceremade.dauphine.fr/~xian/coursMC.pdf>>
>>>
>>> >>>>
>>> >>>>
>>> >>>> Best Regards,
>>> >>>>
>>> >>>> Albert
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> alvin shih <
alvins...@gmail.com> writes:
>>> >>>>
>>> >>>> > 相較於mosky的方式,還真有如野地的土坯之於精緻小洋房啊!****再度見證了python的優雅!
>>> >>>> > 不過這樣的結果,可能還是沒有辦法有任何實質上的效用,****就如同pingooo所說,確實僅切十份是得不到合理的結果的。
>>> >>>> > 目前徒手積分出來的結果,N值至少要49以上,****才能求得小數點下二位的精準度,****所以我現行還是用C將整個程式改寫了!
>>> >>>> >
>>> >>>> > monte carlo的方式,在google上搜尋到的,****就如同mosky所提的一樣,都是使用pi為範例,****目前還想不到要如何應用在此式上。
>>>
>>> >>>>
>>> >>>> > 而由於V_i~U[0,1],所以以此方式來求得之期望值,****應該還算接近結果才是(同時也抱歉的是,****這一點也是先前pingooo指正未明確定義之處)。
>>>
>>> >>>>
>>> >>>> > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接受分割值之輸入(超爛!= =)
>>> >>>> >
>>> >>>> > 但,mosky的解法,指引了我一盞明燈,****或許不是一個不可行的方式,****但效能依然是個bottleneck啊!
>>> >>>> >
>>> >>>> > --
>>> >>>> > 您已訂閱「Google 網上論壇」的「
python.tw」群組,****因此我們特別傳送這封郵件通知您。
>>> >>>> > 如要取消訂閱這個群組並停止接收來自這個群組的郵件,****請傳送電子郵件到 pythontw+u...@**
>>> googlegroups.**com <
http://googlegroups.com>。
>>> >>>> > 如要在此群組張貼留言,請傳送電子郵件至
pyth...@googlegroups.com。
>>> >>>> > 請前往以下網址造訪這個群組:
http://groups.****
google.com/group/pythontw?hl=***
>>> *zh-TW <
http://google.com/group/pythontw?hl=**zh-TW><
>>>
http://groups.google.**com/group/pythontw?hl=zh-TW<
http://groups.google.com/group/pythontw?hl=zh-TW>>。
>>>
>>> >>>>
>>> >>>> > 如需更多選項,請前往:
https://groups.**go**
ogle.com/groups/opt_out<
http://google.com/groups/opt_out>
>>> <https:**//
groups.google.com/groups/**opt_out<
https://groups.google.com/groups/opt_out>>。
>>>
>>> >>>>
>>> >>>> >
>>> >>>> >
>>> >>>> > 相較於mosky的方式,還真有如野地的土坯之於精緻小洋房啊!****再度見證了python
>>> >>>> > 不過這樣的結果,可能還是沒有辦法有任何實質上的效用,****就如同pingooo所說,
>>> >>>> > 確實僅切十份是得不到合理的結果的。
>>> >>>> > 目前徒手積分出來的結果,N值至少要49以上,****才能求得小數點下二位的精準度,
>>> >>>> > 所以我現行還是用C將整個程式改寫了!
>>> >>>> >
>>> >>>> > monte carlo的方式,在google上搜尋到的,****就如同mosky所提的一樣,都是使用
>>> >>>> > pi為範例,目前還想不到要如何應用在此式上。
>>> >>>> > 而由於V_i~U[0,1],所以以此方式來求得之期望值,****應該還算接近結果才是(同
>>> >>>> > 時也抱歉的是,****這一點也是先前pingooo指正未明確定義之處)。
>>> >>>> > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接受分割值之輸入
>>> >>>> > (超爛!= =)
>>> >>>> >
>>> >>>> > 但,mosky的解法,指引了我一盞明燈,****或許不是一個不可行的方式,但效能依
>>> >>>> > 然是個bottleneck啊!
>>> >>>>
>>> >>>> --
>>> >>>> Albert Chun-Chieh Huang(黃俊傑)
>>> >>>> Blog: Random Notes,
http://alberthuang314.**blogsp**
ot.com/<
http://blogspot.com/>
>>> >>> 您已訂閱「Google 網上論壇」的「
python.tw」群組,**因此我們特別傳送這封郵件通知您。
>>> >>> 如要取消訂閱這個群組並停止接收來自這個群組的郵件,**請傳送電子郵件到
pythontw+u...@googlegroups.com**<javascript:>
>>>
>>> >>> 。
>>> >>> 如要在此群組張貼留言,請傳送電子郵件至
pyth...@googlegroups.com <javascript:>。
>>> > 如果是取中點的話,是 >=3 沒有錯。Simpson 應該就是 >=9。不過這牽扯到函
>>> > 數的性質。
>>> > 蒙地卡羅就猛在根本不管函數的性質,**像圍棋這種說不清楚的也適用。
>>> >
>>> > pingooo於 2013年5月3日星期五UTC+8下午4時08分31秒寫道:
>>> >
>>> >
>>> > 補充一下...
>>> >
>>> >
>>> > 太久沒算有點記不得細節,但在多維度積分的問題裡,**蒙地卡羅和分割相空
>>> > 間兩種算法,在高於三維(吧?)的時候,**蒙地卡羅其實收歛得比較快。
>>> >
>>> >
>>> >
>>> > 2013/5/3 weijr <
tze...@gmail.com>
>>> >
>>> >
>>> > Monte Carlo 並非不好,但只能算是底線(還有很好的驗算/除錯工具)。
>>> > 粗看題目是 n 維空間,但就如我前面已經寫過,遞迴關係一個一個算
>>> > 就可以把維度拉平,
>>> > 變成 n 個低維度的問題。粗看之下每個積分都是二維的,(V, Y=\sum
>>> > X_i)
>>> > 但既然 V 是 uniform,原則上這一個積分可以直接積出,所以只剩一
>>> > 個一維積分。
>>> > 剛才真的算了一下,的確如此。
>>> >
>>> > 另外 please keep it DRY, don't WET(write everything
>>> > ten-times) yourself.
>>> > 除了寫起來很辛苦外,也會影響你的理解,就像原來的式子,**東西也重
>>> > 複三次(這點前面也寫過)。
>>> >
>>> > 給原 PO 的建議
>>> > 1 靠你自己,而不是 compiler/numpy,想辦法將你現在的 python 程
>>> > 式碼速度增加十倍。
>>> > 2 真正理解一下 Monte Carlo 的意義,然後用在這裡。
>>> > 3 如果真的有興趣,可以了解一下重積分、CDF、數值積分。
>>> >
>>> > Albert Huang於 2013年5月2日星期四UTC+8下午5時24分09秒寫道:
>>> >
>>> >
>>> > Hi,
>>> >
>>> > Monte Carlo 在積分上的應用,我最近在 Christian P. Robert
>>> > 的 "Monte Carlo
>>> > Statistical Method" 上有看到一章是 "Monte Carlo
>>> > Integration"。我也正在看
>>> > 前面的章節,還沒看到後面的,不過有投影片可以參考一下:
>>> > > monte carlo的方式,在google上搜尋到的,**就如同mosky所提的
>>> > 一樣,都是使用pi為範例,目前還想不到要如何應用在此式上。
>>> > > 而由於V_i~U[0,1],所以以此方式來求得之期望值,**應該還算接
>>> > 近結果才是(同時也抱歉的是,**這一點也是先前pingooo指正未明確
>>> > 定義之處)。
>>> > > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接受
>>> > 分割值之輸入(超爛!= =)
>>> > >
>>> > > 但,mosky的解法,指引了我一盞明燈,或許不是一個不可行的
>>> > 方式,但效能依然是個bottleneck啊!
>>> > >
>>> > > --
>>> > > 您已訂閱「Google 網上論壇」的「
python.tw」群組,因此我們
>>> > 特別傳送這封郵件通知您。
>>> >
>>> > > 如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送
>>> > 電子郵件到
pythontw+u...@googlegroups.com**。
>>> > > 如要在此群組張貼留言,請傳送電子郵件至
>>> >
pyth...@googlegroups.com。
>>> >
>>> >
>>> > > 請前往以下網址造訪這個群組:
>>> >
http://groups.google.com/**group/pythontw?hl=zh-TW<
http://groups.google.com/group/pythontw?hl=zh-TW>。
>>>
>>> > > 如需更多選項,請前往:
>>> >
https://groups.google.com/**groups/opt_out<
https://groups.google.com/groups/opt_out>。
>>>
>>> > >
>>> > >
>>> > > 相較於mosky的方式,還真有如野地的土坯之於精緻小洋房啊!**再
>>> > > monte carlo的方式,在google上搜尋到的,**就如同mosky所提的
>>> > 一樣,都是使用
>>> > > pi為範例,目前還想不到要如何應用在此式上。
>>> > > 而由於V_i~U[0,1],所以以此方式來求得之期望值,**應該還算接
>>> > 近結果才是(同
>>> > > 時也抱歉的是,**這一點也是先前pingooo指正未明確定義之處)。
>>> > > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接受
>>> > 分割值之輸入
>>> > > (超爛!= =)
>>> > >
>>> > > 但,mosky的解法,指引了我一盞明燈,或許不是一個不可行的
>>> > 方式,但效能依
>>> > > 然是個bottleneck啊!
>>> >
>>> > --
>>> > Albert Chun-Chieh Huang(黃俊傑)
>>> > 如要取消訂閱這個群組並停止接收來自這個群組的郵件,**請傳送電子郵
>>> > 件到
pythontw+u...@googlegroups.com**。
>>> > 如要在此群組張貼留言,請傳送電子郵件至
>>> >
pyth...@googlegroups.com。
>>> > 請前往以下網址造訪這個群組:
>>> >
http://groups.google.com/**group/pythontw?hl=zh-TW<
http://groups.google.com/group/pythontw?hl=zh-TW>。
> 搜尋一下各大學相關課程的課本?
>
>
> 2013/5/6 weijr <
tze...@gmail.com>
>
> 我只有大學程度的數值計算,所以也談不上什麼推薦。
> 不過如果圖書館有的話,可以先翻翻看。
>
> Albert Huang於 2013年5月3日星期五UTC+8下午7時47分41秒寫道:
>
>
> weijr and pingooo,
>
> 在這裡趕緊請教二位,數值方法與 Monte Carlo 分別該看哪一本書比
> 較適合入門?
> 數值方法我還沒找到,Monte Carlo 的有 Christian P. Robert 的
> "Monte Carlo
> Statistical Method" 不過這本因為台灣目前沒有,需要從 Amazon 直
> 接訂購,所
> 以先請教一下這本適合與否。
>
> 謝謝二位的推薦!
>
> Albert
>
>
>
>
> weijr <
tze...@gmail.com> writes:
>
> > 如果是取中點的話,是 >=3 沒有錯。Simpson 應該就是 >=9。不過
> 這牽扯到函數的性質。
> > 蒙地卡羅就猛在根本不管函數的性質,像圍棋這種說不清楚的也適用。
> >
> > pingooo於 2013年5月3日星期五UTC+8下午4時08分31秒寫道:
> >>
> >> 補充一下...
> >>
> >> 太久沒算有點記不得細節,但在多維度積分的問題裡,蒙地卡羅和
> 分割相空間兩種算法,在高於三維(吧?)的時候,蒙地卡羅其實收歛
> 得比較快。
> >>
> >>
> >> 2013/5/3 weijr <
tze...@gmail.com <javascript:>>
> >>
> >>>
> >>> Monte Carlo 並非不好,但只能算是底線(還有很好的驗算/除錯
> 工具)。
> >>> 粗看題目是 n 維空間,但就如我前面已經寫過,遞迴關係一個一
> 個算就可以把維度拉平,
> >>> 變成 n 個低維度的問題。粗看之下每個積分都是二維的,(V,
> Y=\sum X_i)
> >>> 但既然 V 是 uniform,原則上這一個積分可以直接積出,所以只
> 剩一個一維積分。
> >>> 剛才真的算了一下,的確如此。
> >>>
> >>> 另外 please keep it DRY, don't WET(write everything
> ten-times) yourself.
> >>> 除了寫起來很辛苦外,也會影響你的理解,就像原來的式子,東西
> 也重複三次(這點前面也寫過)。
> >>>
> >>> 給原 PO 的建議
> >>> 1 靠你自己,而不是 compiler/numpy,想辦法將你現在的 python
> 程式碼速度增加十倍。
> >>> 2 真正理解一下 Monte Carlo 的意義,然後用在這裡。
> >>> 3 如果真的有興趣,可以了解一下重積分、CDF、數值積分。
> >>>
> >>> Albert Huang於 2013年5月2日星期四UTC+8下午5時24分09秒寫道:
> >>>>
> >>>> Hi,
> >>>>
> >>>> Monte Carlo 在積分上的應用,我最近在 Christian P. Robert
> 的 "Monte Carlo
> >>>> Statistical Method" 上有看到一章是 "Monte Carlo
> Integration"。我也正在看
> >>>> 前面的章節,還沒看到後面的,不過有投影片可以參考一下:
> >>>>
>
http://www.ceremade.dauphine.**fr/~xian/coursMC.pdf<
http://www.
>
ceremade.dauphine.fr/~xian/coursMC.pdf>
> >>>>
> >>>>
> >>>> Best Regards,
> >>>>
> >>>> Albert
> >>>>
> >>>>
> >>>>
> >>>> alvin shih <
alvins...@gmail.com> writes:
> >>>>
> >>>> > 相較於mosky的方式,還真有如野地的土坯之於精緻小洋房啊
> !**再度見證了python的優雅!
> >>>> > 對於程式整體的彈性上也大為增加,感謝囉!
> >>>> >
> >>>> > 不過這樣的結果,可能還是沒有辦法有任何實質上的效用,**
> 就如同pingooo所說,確實僅切十份是得不到合理的結果的。
> >>>> > 目前徒手積分出來的結果,N值至少要49以上,**才能求得小數
> 點下二位的精準度,**所以我現行還是用C將整個程式改寫了!
> >>>> >
> >>>> > monte carlo的方式,在google上搜尋到的,**就如同mosky所
> 提的一樣,都是使用pi為範例,**目前還想不到要如何應用在此式上。
> >>>>
> >>>> > 而由於V_i~U[0,1],所以以此方式來求得之期望值,**應該還
> 算接近結果才是(同時也抱歉的是,**這一點也是先前pingooo指正未明
> 確定義之處)。
> >>>>
> >>>> > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接
> 受分割值之輸入(超爛!= =)
> >>>> >
> >>>> > 但,mosky的解法,指引了我一盞明燈,**或許不是一個不可行
> >>>> > 不過這樣的結果,可能還是沒有辦法有任何實質上的效用,**
> 就如同pingooo所說,
> >>>> > 確實僅切十份是得不到合理的結果的。
> >>>> > 目前徒手積分出來的結果,N值至少要49以上,**才能求得小數
> 點下二位的精準度,
> >>>> > 所以我現行還是用C將整個程式改寫了!
> >>>> >
> >>>> > monte carlo的方式,在google上搜尋到的,**就如同mosky所
> 提的一樣,都是使用
> >>>> > pi為範例,目前還想不到要如何應用在此式上。
> >>>> > 而由於V_i~U[0,1],所以以此方式來求得之期望值,**應該還
> 算接近結果才是(同
> >>>> > 時也抱歉的是,**這一點也是先前pingooo指正未明確定義之處
> )。
> >>>> > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目前僅能接
> 受分割值之輸入
> >>>> > (超爛!= =)
> >>>> >
> >>>> > 但,mosky的解法,指引了我一盞明燈,**或許不是一個不可行
> >>> --
> >>> 您已訂閱「Google 網上論壇」的「
python.tw」群組,因此我們特
> 別傳送這封郵件通知您。
> >>> 如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電
> > 您已訂閱「Google 網上論壇」的「
python.tw」群組,因此我們特別
> 傳送這封郵件通知您。
>
> > 如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子
> > Hi,
> >
> > Monte Carlo 在積分上的應用,我最近在 Christian
> P. Robert
> > 的 "Monte Carlo
> > Statistical Method" 上有看到一章是 "Monte Carlo
> > Integration"。我也正在看
> > 前面的章節,還沒看到後面的,不過有投影片可以參考
> 一下:
> >
> > > from time import time
> > > from time import sleep
> > > i=range(10)
> > >
> > > start = time()
> > > for i[0] in xrange(s+1):
> > > for i[1] in xrange(s+1):
> > > for i[2] in xrange(s+1):
> > > for i[3] in xrange(s+1):
> > > for i[4] in xrange(s+1):
> > > for i[5] in xrange(s+1):
> > > for i[6] in xrange
> (s+1):
> > > for i[7] in
> xrange(s+1):
> > > for i[8] in
> xrange
> > (s+1):
> > > for i[9] in xrange(s+1):
> > > pass
> > >
> > > cost1=time()-start
> > >
> > > sleep(5)
> > >
> > > start = time()
> > > for case in product(*[xrange(s+1)]*10):
> > > pass
> > >
> > > cost2=time()-start
> > > print cost1,cost2
> > >
> > > 在我所使用的電腦測試出的結果為:
> > > 2246.92600012 2014.3119998
> > >
> > > 不過這樣的結果,可能還是沒有辦法有任何實質上的
> 效用,就如
> > 同pingooo所說,確實僅切十份是得不到合理的結果的。
> > > 目前徒手積分出來的結果,N值至少要49以上,才能
> 求得小數點
> > 下二位的精準度,所以我現行還是用C將整個程式改寫
> 了!
> > >
> > > monte carlo的方式,在google上搜尋到的,就如同
> mosky所提的
> > 一樣,都是使用pi為範例,目前還想不到要如何應用在
> 此式上。
> > > 而由於V_i~U[0,1],所以以此方式來求得之期望值,
> 應該還算接
> > 近結果才是(同時也抱歉的是,這一點也是先前pingooo
> 指正未明確
> > 定義之處)。
> > > 至於pingooo所提及之挑戰,正是我所期昐的啊!! 目
> 前僅能接受
> > 分割值之輸入(超爛!= =)
> > >
> > > 但,mosky的解法,指引了我一盞明燈,或許不是一
> 個不可行的
> > 方式,但效能依然是個bottleneck啊!
> > >
> > > --
> > > from time import time
> > > from time import sleep
> > > i=range(10)
> > >
> > > start = time()
> > > for i[0] in xrange(s+1):
> > > for i[1] in xrange(s+1):
> > > for i[2] in xrange(s+1):
> > > for i[3] in xrange(s+1):
> > > for i[4] in xrange(s+1):
> > > for i[5] in xrange(s+1):
> > > for i[6] in xrange
> (s+1):