NAME

multiply_vector_and_matrix - Multiplies a vector by a matrix

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_vector_and_matrix
(
	Vector **output_vpp,
	const Vector *input_vp,
	const Matrix *input_mp
);

DESCRIPTION

This routine multiplies a vector by a matrix. The vector is used as a row vector. The dimensions must be appropriate for muliplication, or ERROR is returned. The first argument is a pointer to the target vector. If the target vector itself is null, then a vector of the appropriate size is created. If the target vector 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_by_transpose , 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_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