2011-06-08 56 views
5

我正在做一個模擬,我必須計算許多平均值,我認爲使用boost :: accumulators將是一個好主意。問題是我想要平均的一個量是一個對稱矩陣,其對角線事先已知。所以我只需要計算Q [i] [j]的平均值,如果我是< j。對稱陣列數據結構C++

起初,我得到了,我可以用一個

using namespace boost::accumulators; 
using namespace boost::numeric::ublas; 
typedef accumulator_set<double, stats<tag::mean> > accumulator; 

symmetric_matrix<accumulator, lower> foo; // a symmetric matrix of accumulators 

持本人蓄電池的印象。但是後來我想到這個symmetric_matrix結構可能足以僅保存數值(它們具有定義的算術運算)或者以某種方式針對這種數據進行了優化。這是正確的嗎?

如果來自boost的symmetric_matrix不足,我需要一個數據結構,它可以容納一個對稱矩陣的下三角形而不用對角線,並且它必須適合於保持累加器並且具有像句法一樣的好矩陣。這是從某個圖書館隨時可用的嗎?如果不是,這種結構有沒有簡單的實現?

+2

增強矩陣中沒有任何要求元素類型爲數字的東西。除了矩陣算術運算符當然,但如果你不使用它們,它們不會被實例化。 – 2011-06-08 20:30:35

回答