All Posts

Python 加速符文:高效能平行科學計算

在 Python 基礎科學運算中,我們習於使用 NumPy 以方便且快速地實現矩陣運算,然而在部分情境下仍會遇到效能瓶頸。舉例來說,我們利用 NumPy 線性代數模組處理一個大型線性最小平方問題,但效能瓶頸卻發生在使用原生 Python 迴圈建造矩陣的過程。在本文中,我們將探討 Python 效能瓶頸問題,並試圖使用一些現有工具去達成運算加速的目的,同時比較這些工具之間的特性。

Read more ...


C++ Traits 使用心得

近期在閱讀一些 C++ Library 的過程中發現了 C++ Traits 的使用概念,於是乎來整理一下他的想法以及實現方法。

Read more ...


iSAM2 演算法筆記 (1):問題定義與 Bayes Tree

圖模型統計推論 (graphical model inference) 應用在 SLAM 問題當中算是行之有年,其中一派由 Kaess 和 Dellaert 等高手開發之 iSAM2 (IJRR 2012) 是一個基於因子圖的最佳化方法,重點是他高度改善了當新增變數到因子圖時的最佳化過程,這件事情使得說由因子圖描述的大型稀疏問題在面對增量變數時,依舊能實現近乎實時的運算效能;同時他們也有釋出 C++ 函式庫。本篇算是筆者對於此方法的回顧,同時也是因為中文的介紹文章比較少,因此也順水推舟地用中文來記錄這個閱讀過程。

Read more ...


Context Management in Python

在執行程式的時候通常會需要存取資源,一般來說資源的來源可能是檔案、遠端連線、或是某種 Socket。本篇我們將整理在 Python 中面對資源存取問題時,透過 with 的常見作法、其物件意涵、以及內建套件 contextlib 的一些使用時機。

Read more ...


Checking Sum of Squares (SOS) Polynomials with CVXPY

This post aims at introducing a programming way to check if a polynomial is sum of squares.

Read more ...