# NAME

get_best_diagonal_post_map - Finds the best post diagonal map between two matrices
# SYNOPSIS

#include "n/n_fit.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int get_best_diagonal_post_map
(
Vector **result_vpp,
const Matrix *in_mp,
const Matrix *out_mp
);

# DESCRIPTION

This routine finds the diagonal matrix which, when used to post multiply the
matrix pointed to by in_mp, gives the closest matrix in the least squares
sense to the matrix pointed to by out_mp.
Put differently, this routine calculates
MIN { || AX - B || }, over all diagonal matrices, X
2

The diagonal map is put into the vector pointed to by *result_vpp, which
is created if *result_vpp is NULL, resized if *result_vpp is the wrong
sized, and reused otherwise. The dimensions of *in_mp and *out_mp must be
the same.
# RETURNS

NO_ERROR on success, and ERROR on failure, with an appropriate error
message being set.
# DISCLAIMER

This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
# AUTHOR

Kobus Barnard
# DOCUMENTER

Kobus Barnard
# SEE ALSO

least_squares
,
least_squares_2
,
get_linear_equation_rms_error
,
get_diagonal_post_map_error
,
get_best_map
,
get_best_post_map
,
get_post_map_error
,
get_svd_basis_for_rows
,
get_row_fits
,
project_rows_onto_basis
,
get_best_linear_fit
,
get_best_linear_fit_2