В стандартной библиотеке есть инструменты для генерации значений из одномерного нормального распределения (std::normal_distribution
). Есть ли подобное для многомерного нормального распределения? Если нет, то есть ли в бусте?
Математический алгоритм:
Ay[i,j]=Ax[i,j]-m[i]*m[j]
E=EigenVectors(Ay)
.Az = E * Ay * E^-1
. В этой системе координат, матрица Az должна быть диагональной.В случае, если нужно сгенерировать много случайных чисел, то шаги 1-4 можно выполнить один раз.
Критическим здесь является являестя этап нахиждения собственных векторов. К сожелению, в boost.uBLAS, нет подходящей функции, но можно воспользоваться eigen или MKL. Кроме того, задача нахождения собственных векторов - очень трудоемкая (сложенее нахождения обратной матрицы), и в случае плохо обусловленных матриц большого размера, удовлетворительного алгоритма просто не сущесвует. Даже размерность 10 может оказаться критической, с точки зрения потери точности.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Имеется первый класс One с конструктором, принимающим в качестве аргумента ArrayList типа String, :
что я делаю не так, не могу получить в другом классе вот это
Использую библиотеку ZXing для распознавания кодовПри сканировании экран переворачивается в горизонтальный