This commit is contained in:
Timur A. Fatkhullin
2026-03-26 23:21:20 +03:00
parent a8275f3786
commit d3bab396a2
2 changed files with 16 additions and 14 deletions

View File

@@ -196,12 +196,14 @@ protected:
{
if constexpr (pairKind != MccCoordPairKind::COORDS_KIND_GENERIC &&
pairKind != MccCoordPairKind::COORDS_KIND_XY) {
if constexpr (pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP ||
pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
_x = (double)MccAngle(_x).normalize<MccAngle::NORM_KIND_180_180>();
} else { // RA, AZ
_x = (double)MccAngle(_x).normalize<MccAngle::NORM_KIND_0_360>();
}
// if constexpr (pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP ||
// pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
// _x = (double)MccAngle(_x).normalize<MccAngle::NORM_KIND_180_180>();
// } else { // RA, AZ
// _x = (double)MccAngle(_x).normalize<MccAngle::NORM_KIND_0_360>();
// }
_x = (double)MccAngle(_x).normalize<MccAngle::NORM_KIND_0_360>();
// DEC and ALT is [-90,90] degrees
if constexpr (pairKind != MccCoordPairKind::COORDS_KIND_AZZD) {

View File

@@ -532,22 +532,22 @@ protected:
model = X * beta;
resi = y - model;
resi = y;
// resi = y;
for (result.final_iter = 1; result.final_iter <= comp_params.max_iter; ++result.final_iter) {
scale = gastwirth_est(resi);
tukey_weight(resi / scale, comp_params.c, weights);
Eigen::MatrixXd XtW = X.transpose() * weights.asDiagonal();
Eigen::MatrixXd XtWX = XtW * X;
Eigen::VectorXd XtWy = XtW * y;
// Eigen::MatrixXd XtW = X.transpose() * weights.asDiagonal();
// Eigen::MatrixXd XtWX = XtW * X;
// Eigen::VectorXd XtWy = XtW * y;
new_beta = XtWX.ldlt().solve(XtWy);
// new_beta = XtWX.ldlt().solve(XtWy);
// WX = weights.asDiagonal() * X;
// Wy = weights.asDiagonal() * y;
// new_beta = WX.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(Wy);
WX = weights.asDiagonal() * X;
Wy = weights.asDiagonal() * y;
new_beta = WX.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(Wy);
if ((new_beta - beta).norm() < comp_params.tolerance) {
break;