NAME

subtract_row_vector_from_matrix - Subtracts a vector from each row of 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 subtract_row_vector_from_matrix
(
	Matrix **target_mpp,
	const Matrix *source_mp,
	const Vector *vp
);

DESCRIPTION

This routine subtracts a vector to each row of a matrix. The length of the vector must match the number of columns in the matrix. If we are respecting missing values (disabled by default), then, if either operands are DBL_MISSING, then the result is DBL_MISSING as well. 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. Currenly this routine can only fail (gracefully!) due to memory allocation failure. The routine will also fail due to dimension mismatch, but this is currently treated as a bug (see set_bug()).

RELATED

ow_subtract_row_vector_from_matrix(3)

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_vector_and_matrix , multiply_matrix_and_vector , multiply_matrix_rows , add_row_vector_to_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