# matrix_mul(3alleg4) [opendarwin man page]

```matrix_mul(3alleg4)						  Allegro manual					       matrix_mul(3alleg4)

NAME
matrix_mul, matrix_mul_f - Multiplies two matrices. Allegro game programming library.

SYNOPSIS
#include <allegro.h>

void matrix_mul(const MATRIX *m1, const MATRIX *m2, MATRIX *out);

void matrix_mul_f(const MATRIX_f *m1, const MATRIX_f *m2, MATRIX_f *out);

DESCRIPTION
Multiplies  two matrices, storing the result in out (this may be a duplicate of one of the input matrices, but it is faster when the inputs
and output are all different). The resulting matrix will have the same effect as the combination of m1 and m2, ie. when applied to a  point
p,  (p * out) = ((p * m1) * m2). Any number of transformations can be concatenated in this way. Note that matrix multiplication is not com-
mutative, ie. matrix_mul(m1, m2) != matrix_mul(m2, m1).

SEE ALSO
apply_matrix(3alleg4), exquat(3alleg4), exscn3d(3alleg4)

Allegro 							   version 4.4.2					       matrix_mul(3alleg4)```

## Check Out this Related Man Page

```exscn3d(3alleg4)						  Allegro manual						  exscn3d(3alleg4)

NAME
exscn3d - Using the 3d scene functions. Allegro game programming library.

SYNOPSIS
#include <allegro.h>

Example exscn3d

DESCRIPTION
This  program demonstrates how to use scanline sorting algorithm in Allegro (create_scene, clear_scene, ... functions). It also provides an
example of how to use the 3D clipping function. The example consists of a flyby through a lot of rotating 3d cubes.

SEE ALSO
BITMAP(3alleg4), END_OF_FUNCTION(3alleg4), END_OF_MAIN(3alleg4), LOCK_FUNCTION(3alleg4),  LOCK_VARIABLE(3alleg4),  MATRIX_f(3alleg4),  PAL-
ETTE(3alleg4), POLYTYPE_GCOL(3alleg4), SCREEN_H(3alleg4), SCREEN_W(3alleg4), V3D_f(3alleg4), allegro_error(3alleg4), allegro_exit(3alleg4),
allegro_init(3alleg4),	allegro_message(3alleg4),   apply_matrix_f(3alleg4),   bitmap_color_depth(3alleg4),   blit(3alleg4),	clear_bit-
map(3alleg4),	clear_scene(3alleg4),	 clip3d_f(3alleg4),   create_bitmap(3alleg4),	create_scene(3alleg4),	 desktop_palette(3alleg4),
destroy_bitmap(3alleg4),   destroy_scene(3alleg4),   font(3alleg4),   get_rotation_matrix_f(3alleg4),	get_translation_matrix_f(3alleg4),
gfx_mode_select_ex(3alleg4), install_int(3alleg4), install_keyboard(3alleg4), install_mouse(3alleg4), install_timer(3alleg4), key(3alleg4),
matrix_mul_f(3alleg4), palette_color(3alleg4), persp_project_f(3alleg4),  polygon_z_normal_f(3alleg4),  render_scene(3alleg4),  scene_poly-
gon3d_f(3alleg4), screen(3alleg4), set_color_depth(3alleg4), set_gfx_mode(3alleg4), set_palette(3alleg4), set_projection_viewport(3alleg4),
textprintf_ex(3alleg4)

Allegro 							   version 4.4.2						  exscn3d(3alleg4)```
Man Page

## Matrix multiplication with different files

Hi, i have file1 which looks like: x1 y1 z1 x2 y2 z2 ...(and so on) and file2 which looks like: a11 a12 a13 a21 a22 a23 a31 a32 a33 and i want to replace file1 with the following values: x1' y1' z1' x2' y2' z2' ...(and so on)

## Multiplication of two matrices

Hi there! I have two files like below File1(with a header, ~1000 rows, ~50 columns) ID1 ID2 ID3 ID4 ID5 MI1_A MI1_H MI2_A MI2_H 0 1 0 0 0 1 0 2 1 0 2 0 0 0 2 1 0 1 File2 (without a header, ~50 rows) MI1 A 0.4 3.1 MI2 B -0.2 0.1 Output ID2 M1_A M2_A 1 1*0.4 2*-0.2 2 2*0.4 0*-0.2 ...

## Matrix multiplication

I have two files. Row id in File1 matches the column id in file2 (starting from column7 )except the last 2 characters. File1 has 50 rows and File 2 has 56 columns. If the id matches I want to multiply the value in column3 of File1 to the entire column in File2. and in the final output print only...