#include <stdio.h>
#include <stdlib.h>

#include "parab.h"
#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%.16Lg",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%.16Lg",el2(i,j,M) );	
		printf("\n");
	}
}