Strassen's Matrix Multiplication


Page 1 2 3 4 5 6 7 8 9 10







SOURCE CODE

#include”iostream.h”
#include”conio.h”

class smm{
int a[2][2],b[2][2],c[2][2];
public:
void smm1();
void strmatmul();
};

void smm::smm1()
{
int i,j;
cout < < "Enter The Values Of A Matrix \n"; for(i=0;i < j="0;j"> > a[i][j];
cout < < "Enter The Values For B Matrix \n"; for(i=0;i < j="0;j"> > b[i][j];
}

void smm::strmatmul()
{
int m[25]={0},i,j;

m[1]=(a[0][0]+a[1][1])*(b[0][0]+b[1][1]);
m[2]=(a[1][0]+a[1][1])*b[0][0];
m[3]=a[0][0]*(b[0][1]-b[1][1]);
m[4]=a[1][1]*(b[1][0]-b[0][0]);
m[5]=(a[0][0]+a[0][1])*b[1][1];
m[6]=(a[1][0]-a[0][0])*(b[0][0]+b[0][1]);
m[7]=(a[0][1]-a[1][1])*(b[1][0]+b[1][1]);

c[0][0]=m[1]+m[4]-m[5]+m[7];
c[0][1]=m[3]+m[5];
c[1][0]=m[2]+m[4];
c[1][1]=m[1]+m[3]-m[2]+m[6];


cout < < "\n STRASSEN'S MATRIX MULTIPLICATION \n"; for(i=0;i < j="0;j">