NAME

multiply_by_transpose - Multiplies one matrix by the transpose of the second.

SYNOPSIS

#include "m/m_mat_arith.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 multiply_by_transpose
(
	Matrix **target_mpp,
	const Matrix *first_mp,
	const Matrix *second_mp
);

DESCRIPTION

This routine multiplies one matrix by the transpose of the second. The matrices must be compatable for muliplication, or ERROR is returned. It is slightly faster to multiply by the transpose, if it is available. Hence, if the operation required is multiplication by the transpose, then it is much better to use this routine, as opposed to getting the transpose, and then multiplying. The first argument is a pointer to the target matrix. If the target matrix itself is null, then a matrix of the appropriate size is created. If the target matrix is the wrong size, it is resized. Finally, if it is the right size, then the storage is recycled, as is.

RETURNS

NO_ERROR on success, and ERROR on failure, with an 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

get_vector_outer_product , add_matrices , ow_add_matrices , ow_add_matrices_2 , subtract_matrices , ow_subtract_matrices , multiply_matrices_ew , ow_multiply_matrices_ew , ow_multiply_matrices_ew_2 , divide_matrices_ew , ow_divide_matrices_ew , ow_add_matrix_times_scalar , ow_add_matrix_times_scalar_2 , ow_add_int_matrix_to_matrix , multiply_matrices , multiply_with_transpose , multiply_by_own_transpose , get_dot_product_of_matrix_rows , get_dot_product_of_matrix_rows_2 , invert_matrix_elements , square_matrix_elements , exp_matrix_elements , log_matrix_elements , log_matrix_elements_2 , sqrt_matrix_elements , add_scalar_to_matrix , subtract_scalar_from_matrix , multiply_matrix_by_scalar , divide_matrix_by_scalar , ow_invert_matrix_elements , ow_square_matrix_elements , ow_exp_matrix_elements , ow_log_matrix_elements , ow_log_matrix_elements_2 , ow_add_scalar_to_matrix , ow_subtract_scalar_from_matrix , ow_multiply_matrix_by_scalar , ow_divide_matrix_by_scalar , multiply_vector_and_matrix , multiply_matrix_and_vector , multiply_matrix_rows , add_row_vector_to_matrix , subtract_row_vector_from_matrix , multiply_matrix_by_row_vector_ew , divide_matrix_by_row_vector , ow_add_row_vector_to_matrix , ow_subtract_row_vector_from_matrix , ow_multiply_matrix_by_row_vector_ew , ow_divide_matrix_by_row_vector , ow_add_vector_to_matrix_row , ow_add_vector_to_matrix_col , ow_add_scalar_times_vector_to_matrix_row , ow_subtract_vector_from_matrix_row , ow_multiply_matrix_row_by_vector , ow_divide_matrix_row_by_vector , ow_multiply_matrix_col_by_vector , ow_add_scalar_to_matrix_row , ow_subtract_scalar_from_matrix_row , ow_multiply_matrix_row_by_scalar , ow_divide_matrix_row_by_scalar , add_col_vector_to_matrix , ow_add_col_vector_to_matrix , subtract_col_vector_from_matrix , ow_subtract_col_vector_from_matrix , multiply_matrix_by_col_vector_ew , ow_multiply_matrix_by_col_vector_ew , divide_matrix_by_col_vector , ow_divide_matrix_by_col_vector , ow_add_matrix_row_times_scalar , ow_add_matrix_rows_ew , ow_multiply_matrix_rows_ew , sum_matrix_elements , sum_matrix_row_elements , sum_matrix_col_elements , average_matrix_elements , ow_subtract_identity_matrix , do_matrix_recomposition , do_matrix_recomposition_2 , log_sum_log_matrix_elements , ow_exp_scale_by_sum_log_matrix_row , ow_add_matrix_row_to_vector , ow_get_abs_of_matrix , get_abs_of_matrix , get_euler_rotation_matrix , get_euler_homo_rotation_matrix , get_3d_rotation_matrix_1 , get_3d_rotation_matrix_2 , get_2d_rotation_matrix , get_3d_homo_rotation_matrix_1 , get_3d_homo_rotation_matrix_2 , get_2d_homo_rotation_matrix , get_3d_scaling_matrix_1 , get_3d_scaling_matrix_2 , get_3d_homo_scaling_matrix_1 , get_3d_homo_scaling_matrix_2 , get_3d_homo_translation_matrix_1 , get_3d_homo_translation_matrix_2