Результаты разложения QR в Python (с использованием numpy) и в C++ (с использованием Eigen) различаются? ⇐ C++
-
Anonymous
Результаты разложения QR в Python (с использованием numpy) и в C++ (с использованием Eigen) различаются?
Пример кода декомпозиции QR (Python):
импортировать numpy как np импортировать matplotlib.pyplot как plt # Определим 2D-массив данные = np.array([ [12, -51, 4], [6, 167, -68], [-4, 24, -41], [-1, 1, 0], [2, 0, 3] ], dtype=float) # укажите тип данных как 'float', чтобы соответствовать типу данных C++ double q, r = np.linalg.qr(данные) печать (д) печать (г) Пример кода QR-декомпозиции C++ (Eigen):
#include #include void qrDecomposition(const Eigen::MatrixXd& A, Eigen::MatrixXd& Q, Eigen::MatrixXd& R) { int nRows = A.rows(); int nCols = A.cols(); Q = Eigen::MatrixXd::Zero(nRows, nCols); R = Eigen::MatrixXd::Zero(nCols, nCols); Eigen::MatrixXd v(nRows, nCols); Eigen::MatrixXd u(nRows, nCols); for (int j = 0; j < nCols; j++) { v.col(j) = A.col(j); для (int я = 0; я
Пример кода декомпозиции QR (Python):
импортировать numpy как np импортировать matplotlib.pyplot как plt # Определим 2D-массив данные = np.array([ [12, -51, 4], [6, 167, -68], [-4, 24, -41], [-1, 1, 0], [2, 0, 3] ], dtype=float) # укажите тип данных как 'float', чтобы соответствовать типу данных C++ double q, r = np.linalg.qr(данные) печать (д) печать (г) Пример кода QR-декомпозиции C++ (Eigen):
#include #include void qrDecomposition(const Eigen::MatrixXd& A, Eigen::MatrixXd& Q, Eigen::MatrixXd& R) { int nRows = A.rows(); int nCols = A.cols(); Q = Eigen::MatrixXd::Zero(nRows, nCols); R = Eigen::MatrixXd::Zero(nCols, nCols); Eigen::MatrixXd v(nRows, nCols); Eigen::MatrixXd u(nRows, nCols); for (int j = 0; j < nCols; j++) { v.col(j) = A.col(j); для (int я = 0; я
Мобильная версия