分散共分散行列の違い

Rで書かれたとあるプログラムをOpenCV(C++ interface)に移植中なのですが、
分散共分散行列を求める2つの関数で出力される値が違うのに困惑していました。

OpenCVでは cv::calcCovarMatrix で、Rでは var です。

7 4 7
2 3 8
3 6 2

みたいな行列(値に意味は一切ありません)を与えたとき

cv::calcCovarMatrixでは、

4.666667 0.000000 1.000000
0.000000 1.555556 -3.222222
1.000000 -3.222222 6.888889

Rでは

7.000000 0.000000 1.500000
0.000000 2.333333 -4.833333
1.500000 -4.833333 10.333333

といった出力になっていました。
どうも係数(1.5)がかかっているようです。
しかしこれが常にそうなのか?というところが疑問で困っていたところだったのですが

Variance=\frac{\sum^n_{i=1}{(x_{i}-\bar{x})^2}}{n}

Unbiased Variance=\frac{\sum^n_{i=1}{(x_{i}-\bar{x})^2}}{n-1}

という標本分散と不偏分散の定義の違いだと気付きました。(すぐに気付けよというところですが。。。)

今回、Rの方が移植元なので

cv::calcCovarMatrix(data, vx, mean, CV_COVAR_NORMAL | CV_COVAR_ROWS | CV_COVAR_SCALE, CV_32F);
vx *= (double)data.cols / (data.cols - 1);

というふうにすることで対応できました。
C++ interfaceは便利ですね。

まぁ、数値そのものはおそらく重要でないので、標本分散でもいいのかもしれません。