Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Quaternion 超越函數

在這個四元數的實現中並沒有提供logsqrt函數, 並且函數pow 局限於指數的整數次冪. 關於這一點有如下理由: 一方面, 與四元數對應的解析開拓("分支切割")仍然有需要徹底的研究 (至少對我來說...), 並且我們希望避免重述在標準中介紹的複數的複數次冪(這是有良好定義的,但不在標準中...). 說到無稽之談, 象說 pow(0,0) 的結果是由 "具體實現規定" 的,就是壞了腦的...

然而,我們確實提供了一些超越函數, 最主要的是指數運算. 作者聲明這個 "閉公式"(closed formula)的證明是他自己完成的 也是他的獨自的發明(在這個公式被發明之前已經有了一些聲明, 比如一份由 Shoemake 教授發表的聲明, 有可能這個公式在幾百年以前已經被人所知曉, 但是由於缺少參考文獻,這件事情一直懸而未決, 等待以後的調查; 另一方面, 四元數的指數運算的定義和存在, 是一個已經被知道很久的事實). 基本上, 任意收斂的實係數冪級數, 在 C 上滿足閉公式的, 都能夠被轉化為對應的H上的冪級數. 這個四元數類型中的更多的超越函數可能會依據需求在將來添加. 需要指出的是,這些函數增加了對boost/math/special_functions/sinc.hppboost/math/special_functions/sinhc.hpp 頭文件 的依賴.

exp
template<typename T>	quaternion<T> exp(quaternion<T> const & q);

計算四元數的exp(指數).

cos
template<typename T>	quaternion<T>  cos(quaternion<T> const & q);

計算四元數的cosine(餘弦)

sin
template<typename T>	quaternion<T>  sin(quaternion<T> const & q);

計算四元數的sine(正弦).

tan
template<typename T>	quaternion<T>  tan(quaternion<T> const & q);

計算四元數的tangent(正切).

cosh
template<typename T>	quaternion<T>  cosh(quaternion<T> const & q);

計算四元數的 hyperbolic cosine(雙曲餘弦).

sinh
template<typename T>	quaternion<T>  sinh(quaternion<T> const & q);

計算四元數的 hyperbolic sine(雙曲正弦).

tanh
template<typename T>	quaternion<T>  tanh(quaternion<T> const & q);

計算四元數的 hyperbolic tangent(雙曲正切).

pow
template<typename T>	quaternion<T>  pow(quaternion<T> const & q, int n);

計算四元數 q 的 n 次冪.

譯注: 關於 閉公式(closed formula) 以及 數域 的概念在 wikipedia中有相關的描述.


PrevUpHomeNext