#include #include #include "matrix.h" void ProdM( Matrix *M1, Matrix *M2 , Matrix *M) { int k,i,j; for( i=0; i< M2->i ; i++ ) for( j=0; j< M1->j ; j++ ) for( k=0,el(i,j,M)=0.0; k < M1->i ; k++ ) el(i,j,M) += el(k,j,M1)*el(i,k,M2); } void ProdM2( Matrix *M1, Matrix2 *M2 , Matrix *M) { int k,i,j; for( i=0; i< M2->i ; i++ ) for( j=0; j< M1->j ; j++ ) for( k=0,el(i,j,M)=0.0; k < M1->i ; k++ ) el(i,j,M) += el(k,j,M1)*el2(i,k,M2); } void print_matrix( Matrix *M ) { int i,j; for( j=0; j< M->j ; j++ ) { for( i=0; i< M->i ; i++ ) printf( "\t%lf",el(i,j,M) ); printf("\n"); } } void print_matrix2( Matrix2 *M ) { int i,j; for( j=0; j< M->j ; j++ ) { for( i=0; i< M->i ; i++ ) printf( "\t%lf",el2(i,j,M) ); printf("\n"); } }