NAME
multiply_matrices - Multiplies two matrices.
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_matrices
(
Matrix **target_mpp,
const Matrix *first_mp,
const Matrix *second_mp
);
DESCRIPTION
This routine multiplies two matrices. The matrices must be compatable for
muliplication, or ERROR is returned.
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_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
,
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