為什麼『矩陣光學』會將
光線轉換矩陣分析
光線轉換矩陣分析(又稱ABCD矩陣分析),是用於某些光學系統,特別是雷射領域的一種光線追蹤技術。它包含一個描述光學系統的光線轉化矩陣(ray transfer matrix),這個矩陣與一代表光線的向量相乘之後,可以得到光線在該系統中的運行軌跡。這類的分析也被應用於加速器物理(accelerator physics)中,用以追蹤通過粒子加速器中磁鐵裝置的粒子,詳情請見電子光學。
以下介紹的技術使用了近軸逼近法,此逼近法意即假設所有光線相對於系統的光軸(optical axis)都處於小角度(θ為徑度)、短距離(x)。[1]
稱作『ABCD 矩陣分析』呢?Justin Peatross 和 Michael Ware 兩位先生認為此一命名相當平淡了無新意!傳聞此事淵源久矣,恐來自
《雷射光束與共振腔》
這一篇文章︰
該手稿之主旨是『回顧』,目的在『範例』和『應用』。也許果如文中所言,祇為著『方便』表達故,使用『ABCD』之名目耶??亦或因著強調『入門』,特用『ABC … 』的乎!!
莫道『蕭規曹隨』而已也??不知『名正言順』事焉成!!
《論語‧子路篇》
子路曰:『衛君待子而為政,子將奚先?』子曰:『必也正名乎!』子路曰:『有是哉,子之迂也!奚其正?』子曰:『野哉由也!君子於其所不知,蓋闕如也。名不正,則言不順;言不順,則事不成;事不成,則禮樂不興;禮樂不興,則刑罰不中;刑罰不中,則民無所措手足。故君子名之必可言也,言之必可行也。君子於其言,無所苟而已矣。』
《説文解字》:
名,自命也。从口,从夕。夕者,冥也。冥不相見,故以口自名。
古來『名字』的傳統,幼時口呼『命名』,成年書寫『取字』。
許多讀過『λ 運算』的人,多半覺得它既『難懂』又『難解』。這是有原因的,如果用『抽象辦法』談論著『抽象事物』,又不知道為何如此表述當然『難懂』;假使不能『困思勉行』多次的『深思熟慮』,以至於能夠一旦了悟那就自然『難解』。通常越是『基本』的概念,由於太過『直覺』了,反而容易『誤解』。就像化學元素『週期表』上的元素不過一一八個,它所構成的世界卻是千嬌萬媚繁多複雜,要講『鐵』的『性質』與『作用』,也許一大本書都不能窮盡,但換個方向說鐵不就是日用之物的嗎?
邱奇發展『λ 運算』Lambda calculus,這裡的『calculus』不是指『微積分』,是用著『函式』Function 和『變元』Variable 的概念,來談論『計算』一事是什麼?複雜的『函式』是如何清晰明白無歧異的『結構』而成?『變元』的『替換』Substitution 規則,要如何系統化的處理變元替換時『異物同名』衝突之問題?如果從『函式求值』上講,一個『λ 表達式』用著怎樣的『規則』可以『轉換』成為『同等』equivalent 的另一個 λ 表達式呢?……種種。假使給定了兩個『λ 表達式』是否會有一個普適的『演算法』能夠判定彼此間的『同等性』呢?……等等。
─── 摘自《λ 運算︰概念導引《一》》
class sympy.physics.optics.gaussopt.RayTransferMatrix
Base class for a Ray Transfer Matrix.
It should be used if there isn’t already a more specific subclass mentioned in See Also.
Parameters : | parameters : A, B, C and D or 2×2 matrix (Matrix(2, 2, [A, B, C, D])) |
---|
See also
GeometricRay, BeamParameter, FreeSpace, FlatRefraction, CurvedRefraction, FlatMirror, CurvedMirror, ThinLens
References
[R404] | http://en.wikipedia.org/wiki/Ray_transfer_matrix_analysis |
Examples
>>> from sympy.physics.optics import RayTransferMatrix, ThinLens >>> from sympy import Symbol, Matrix >>> mat = RayTransferMatrix(1, 2, 3, 4) >>> mat Matrix([ [1, 2], [3, 4]]) >>> RayTransferMatrix(Matrix([[1, 2], [3, 4]])) Matrix([ [1, 2], [3, 4]]) >>> mat.A 1 >>> f = Symbol('f') >>> lens = ThinLens(f) >>> lens Matrix([ [ 1, 0], [-1/f, 1]]) >>> lens.C -1/f
A
The A parameter of the Matrix.
Examples
>>> from sympy.physics.optics import RayTransferMatrix >>> mat = RayTransferMatrix(1, 2, 3, 4) >>> mat.A 1
B
The B parameter of the Matrix.
Examples
>>> from sympy.physics.optics import RayTransferMatrix >>> mat = RayTransferMatrix(1, 2, 3, 4) >>> mat.B 2
C
The C parameter of the Matrix.
Examples
>>> from sympy.physics.optics import RayTransferMatrix >>> mat = RayTransferMatrix(1, 2, 3, 4) >>> mat.C 3
D
The D parameter of the Matrix.
Examples
>>> from sympy.physics.optics import RayTransferMatrix >>> mat = RayTransferMatrix(1, 2, 3, 4) >>> mat.D 4