2023年3月27日 星期一

座標變換後新的基向量如何導出

如果只是要答案,那很簡單,假設位置向量$\bf{X}$,
$x=x(u,v,w)$,$y=y(u,v,w)$,$z=z(u,v,w)$,那麼新座標系$(u,v,w)$的基向量可以取為
$$\mathbf{g}_1=\frac{\partial \mathbf{X}}{\partial u},\ \mathbf{g}_2=\frac{\partial \mathbf{X}}{\partial v}, \ \mathbf{g}_3=\frac{\partial \mathbf{X}}{\partial w}$$這是未標準化的向量,物理上常常要取基向量的長度為1,那就把上述的向量除以各自的長度。

Courant的數學分析的第二卷第一分冊,練習3.6d就是在問如何導出新座標系的基向量,以及在新的基向量之下如何表示梯度。這是很有代表性的問題,因為這些問題通常是物理課本的內容,一般數學書不會提到,所以這本書把它放在練習題。題目如下:

2023年3月16日 星期四

Haskell當中的List monad用do notation時如何作到篩選

很神奇,在List monad中do notation的篩選功能guard不是語言內核,而是一個用Haskell寫的函數而已。

Haskell report 2010對於guard有如下敘述:

guard :: MonadPlus m => Bool -> m ()

guard b is return () if b is True, and mzero if b is False

2023年3月6日 星期一

部落格中用到的幾個Latex的Math語法說明

\$...內容...\$:行內使用Latex語法。
\$\$ ...內容...\$\$:獨立段落使用Latex語法。
行內使用語法會把數學式調整成一行高。

\\begin{align*}
\\
&=
\\end{align*}


{align*}:標示區塊中使用&語法對齊。*代表不自動對式子編號。
\\:換行。
&=:將此等號對齊上一個有前綴&的等號。

\tag{1a}:在行尾加標籤,可用於式子編號。
\mathbf{}:粗體。
\overbrace{}^{}:上括弧,說明文字在上。
\underbrace{}_{}:下括弧,說明文字在下。
\left(:自動調整大小的左括弧,必須跟\right)對應。其實可用在任何成對的左右標記上。例如\left| \right| ...等等。