在 DeepSeek Harness (DSH) 的開發流程中,大模型在執行矩陣乘法、行列式計算、逆矩陣求解以及線性方程組處理時,常出現數值誤差。dsh-linalg 插件將這類計算從模型推理中剝離,交由本地精確代碼執行,確保結果確定性。
插件定位¶
dsh-linalg 是 DeepSeek Harness (dsh) 的線性代數工具箱。由 TYEclipse 維護。它提供零運行時依賴的純本地算術,處理矩陣乘法、行列式、逆矩陣、特徵值分解及向量運算,確保結果確定且正確。
核心功能¶
該插件提供以下已覈實功能:
- 矩陣運算:矩陣乘法、行列式、逆矩陣、跡、轉置、行簡化階梯形(RREF)、秩、整數矩陣冪。
- 線性系統求解:求解 Ax = b,並分類解的情況(唯一解、無限解、無解)。
- 特徵值分解:對稱矩陣的特徵值分解,包含殘差測量。
- 向量運算:點積、叉積、範數、投影、角度計算。
安裝與啓用¶
安裝前需確保 pnpm 在系統 PATH 中。
- 執行以下命令添加插件:
dsh plugin --profile web add github:TYEclipse/dsh-linalg
(請將 web 替換爲你的實際配置文件名)
典型用法¶
矩陣計算¶
計算行列式:
matrix_compute(matrix=[[2,1,1],[1,3,2],[1,0,0]], op="determinant")
# 返回:-1
計算逆矩陣:
matrix_compute(matrix=[[4,7],[2,6]], op="inverse")
# 返回:[[0.6,-0.7],[-0.2,0.4]]
線性系統求解¶
求解線性方程組:
solve_linear(a=[[2,3],[1,-1]], b=[8,1])
# 返回:unique solution: [2.2, 1.2]
向量運算¶
計算叉積:
vector_ops(op="cross", a=[1,2,3], b=[4,5,6])
# 返回:[-3,6,-3]
計算向量角度(度):
vector_ops(op="angle", a=[3,4], b=[4,0])
# 返回:53.1301023542
配置項¶
插件支持以下配置(YAML 格式):
- name: 'github:TYEclipse/dsh-linalg'
config:
maxDimension: 20 # 矩陣最大維度(行/列),範圍 1-50
roundPlaces: 10 # 輸出數字保留的小數位數,範圍 1-15
數值行爲與注意¶
- 算法:使用帶部分選主元的高斯消元法;特徵值分解使用循環 Jacobi 方法;整數冪計算使用二進制冪。
- 精度:所有輸出數字默認保留 10 位小數(可通過
roundPlaces配置);絕對值小於 5e-12 的值會被歸零,避免出現-0。 - 容差:主元容差爲 1e-12,低於此值的項被視爲零,防止病態矩陣產生垃圾結果。
- 限制:矩陣維度默認上限爲 20×20(可配置);整數冪運算的指數限制在 -64 到 64 之間。
總結¶
dsh-linalg 爲 DSH 提供了可靠的本地算術支持,解決了大模型在數學運算中的不穩定性問題。
- GitHub:https://github.com/TYEclipse/dsh-linalg
- 插件目錄:https://www.skillhub.cn/plugins/TYEclipse/dsh-linalg