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