小o是高階無窮小,大O則是有界量而不是同階量,先要把定義搞清楚。具體一點講,如果給定某個變化趨勢x->a,1.若lim f(x)/g(x)=0,那麼記f(x) = o(g(x));2.若存在M>0使得|f(x)/g(x)|=M>0,那麼記f(x)=Ω(g(x))4.若0a)只有在不引起誤解的情況下才能省略,不要漏掉。至於運算規則,沒必要去歸納總結,碰到具體情況具體分析,如果碰到具體問題不會解決則說明學得很糟糕,這樣即使背一些規則也沒用。比如說,o(u)+o(v)=o(|u|+|v|),o(u)o(v)=o(uv),這些只是對定義的一層封裝,基本沒什麼價值,如果碰到x->0時的o(x)+o(x^2),要知道結果是o(x),而不是很教條地寫成o(|x|+|x|^2)。至於小o和大O之間的轉化,從定義出發可以直接得到o(u)=O(u),但是反過來沒有什麼萬能的結論。在一定的條件下,x->0時o(x^k)可以化到O(x^{k+1}),比如k+1階可微函式的n階Maclaurin展開的餘項就有這兩種形式。不過一般是不成立的,比如x->0時x/lnx=o(x),但是不能化到o(x^2)。
小o是高階無窮小,大O則是有界量而不是同階量,先要把定義搞清楚。具體一點講,如果給定某個變化趨勢x->a,1.若lim f(x)/g(x)=0,那麼記f(x) = o(g(x));2.若存在M>0使得|f(x)/g(x)|=M>0,那麼記f(x)=Ω(g(x))4.若0a)只有在不引起誤解的情況下才能省略,不要漏掉。至於運算規則,沒必要去歸納總結,碰到具體情況具體分析,如果碰到具體問題不會解決則說明學得很糟糕,這樣即使背一些規則也沒用。比如說,o(u)+o(v)=o(|u|+|v|),o(u)o(v)=o(uv),這些只是對定義的一層封裝,基本沒什麼價值,如果碰到x->0時的o(x)+o(x^2),要知道結果是o(x),而不是很教條地寫成o(|x|+|x|^2)。至於小o和大O之間的轉化,從定義出發可以直接得到o(u)=O(u),但是反過來沒有什麼萬能的結論。在一定的條件下,x->0時o(x^k)可以化到O(x^{k+1}),比如k+1階可微函式的n階Maclaurin展開的餘項就有這兩種形式。不過一般是不成立的,比如x->0時x/lnx=o(x),但是不能化到o(x^2)。