2026, 30, Oct
期中考考完了呢
這個禮拜考電磁學、物理數學(應用數學)、理論力學,今天總算是考完了,只剩下下個月的熱統計物理。老實說,這個熱統計物理我還真是沒把握,熱物老師去年可是當了差不多30個學生,一屆大約70不到,正所謂三代同堂。我本來是覺得自己的學分好像不大夠,所以先去修大三的熱物,而且數學似乎不用那麼複雜(相較於量子物理而言),但似乎很慶幸我有先修,畢竟我沒過大三還可以再修!而且我大一普物的熱物理學的不是很好,你要知道,普物課教授教的那些東西在大三的熱物可是要講兩個多月,我能夠倖存下來很真是僥倖呢!
說到應數和理論力學,我覺得我們系的物理數學教的東西不實用。很搞笑,我們的數學追求使用,將洛朗展開當作泰勒展開,很多人只寫了r < R的展開都沒有寫r > R的展開,你要知道,電磁學的Potential Theory的應用範圍、邊界條件也不一定都那麼limit,是吧?還有,我們教Laplace Transform只有教基本的公式,反轉換都叫大家用複變去解,你要知道,代數性質這麼好的拉氏轉換,用得快的技巧在於善用公式、查表、背的滾瓜爛熟,通常公式表用不了的case,複變算起來也不會好算到哪裡去,像是第一、第二平移定理,用複變就需要分區段找Singularities、算Residue,但是明眼人一瞪就有答案了。在一般力學,遵守因果律、有初始條件的情況下,善用拉氏轉換和卷積定理,即可找出Green's Function的這個Kernel Function,將答案寫成積分形式(我上學期的另一個應數老師,雖然教得不是很好(公認的),但說過一句話:「老師,我女朋友來了,我就把這個積分留給你,你自己把non-homogeneous的函數丟進去算,我先走了!」),這個卷積形式的解,只要將非齊次項丟進去就有答案了(當然,這個非齊次項必須是指數階函數,不然拉氏轉換不存在,這個卷積形式的解就沒用了)。因為考題很多加上我懶著算,所以我理論力學期中考的答案寫成卷積形式就結束了。我想到,昨天考完應數期中考,有學霸A問我某一題的Green's Function怎麽解,那一題恰好符合拉氏轉換的要求,我轉換過去,就得到Green's Function,最後再利用自己這個Green's Function和卷積定理就可以解出答案了;學霸B說:「我怎麼看到卷積定理?別衝動阿,兄弟,你這也太狂了,不用那麼複雜的吧?果然是實力派。」我後來才知道他們是用逆運算子,但這裡就有問題,這個Green's Function的非齊次項是Dirac-Delta Function,而逆運算子本質是不定積分的一種(只不過我們基本不取常數項),這個Dirac-Delta Function的逆運算子是什麼?其實這個的逆運算子很有趣,不是不定積分,而是瑕積分(從負無窮積到t),理論上會有單位步階函數,所以這吻合拉氏轉換得到單位步階函數,但學霸們我就不確定了。
我一開始也很喜歡逆運算子,這是我在姚賀騰的工程數學學到的,而我那時的逆運算子的表背的比誰都熟,但後來知道這個符號運算的封閉性是不夠完善的,而且我也開始主推Erwin Kreyszig的書本的做法,故這類比較偏門一點的做法Erwin自然是不會介紹了,我也基本不熟了,也贊同嚴謹數學。有趣的,Arfken的書本也沒有這個解法,裡面探討別種相對技巧性的解法。說實在的,我也覺得逆運算子其實也不用學,因為你要是會拉氏轉換,那麼逆運算子你基本也會,二者基本一致,拉氏轉換是將t空間換到s空間,這個s就是「微分器」,函數的微分的訊息基本都反映在s上面,這和逆運算子的D是基本一致的,同理,傅里葉轉換也是有類似的性質,只不過在半開區間,拉氏轉換好用,傅里葉轉換倒是還好(如果你很會算留數,那麼這個也不錯)。
容器化技術影片心得
上次看到原子能的为什么程序员都应该学用容器技术【让编程再次伟大#26】,我才算是大略知道容器技術強大的應用,同時我也知道我具體可以不大喜歡在桌面環境使用容器技術的理由。根據影片,容器技術最大的好處是「可復現的環境」,這仰賴開發者熟悉、知道自己程式的依賴,然後寫好配置文件(就例如docker file),以便其他使用者可以依照這個配置文件來復現、使用軟體。
這聽起來很不錯,對吧?也因為這個理由,所以我覺得我可以暫時繼續對容器保持觀望,甚至也不用換發行版。為何?基本上,我們要是都使用Debian官方的套件倉庫的套件,官方會自行維持依賴關係,我們基本不用為這個依賴來承受太多代價——至少對普通用戶(像我)而言。在Debian的打包策略裡面,維持當前版本的依賴關係、讓最多的的套件依賴最大的共用依賴,算是Debian社群打包的策略,比較新穎、有剛需又相對會潛在破壞到當前依賴的套件會放在backports裡面,因此,我基本不需要操心太多,就可以使用儘可能多的套件也還不大需要用到容器,至少在我的普通日常使用是如此。也因此,Debian Testing不是一個好選擇,至少我覺得這不是Debian系列的Fedora,因為Debian官方在打包的策略還是會將Stable的策略應用在Testing上,這也是為何Testing有時套件會下架又上架之類的,Testing真的就是當作「下一代的Stable」開發。
但我還是有體驗到容器的好處,而且這我很推薦。那就是Python的venu容器,這是一個簡易容器,可以在共享Python部分資源的情況下,使用不同版本的Pytho依賴。舉例來說,我今天試了下和AI協作來使用venu裡面pip安裝插件來運行PyVISA,來取代LabVIEW。雖然沒能成功操作儀器,但這確實是一個好的經驗,至少我試過了。主要是實驗室的儀器一旦沒有良好關閉儀器,或是換電腦使用的玄學問題,就會導致上一秒好好的程式瞬間Bugs頻傳,這部分我就懶著處理了,但確實PyVISA是可行的。