умножение матриц

умножение матриц произвольной размерности. работает. результат выглядит правдоподобно.
код:

              //static  double umn(double[,] arr1, double[,] arr2, int a1, int b1, int b2)
        static void umn(double[,] arr1, double[,] arr2, int a1, int b1, int b2)
        {
            double[,] Mass = new double[a1, b2];//[1, 7]; // массив для записи результата проецирования
            double sum = 0;
            for (int i = 0; i < a1; i++)  // умножение
            {
                for (int j = 0; j < b2; j++)
                {
                    for (int r = 0; r < b1; r++)
                    {
                        sum = sum + arr1[i, r] * arr2[r, j];
                    }
                    Mass[i, j] = sum;
                    sum = 0;
                }
            }
            /**/
            for (int i = 0; i < a1; i++)
            {
                for (int j = 0; j < b2; j++)
                {
                    Console.WriteLine(Mass[i, j]);
                }
            }/**/
            //return Mass[a1, b2];
             
        }/////////////////////////////////////////////////////////////

        static void Main(string[] args)
        {
            int a = 3, b = 2, c = 2;
            double [,] mass1 = new double[a,b];
            double [,] mass2 = new double[b,c];
            double [,] mass3 = new double[a,c];

            for (int i = 0; i < a; i++) // заполнение
            {
                for (int j = 0; j < b; j++)
                {
                    mass1[i, j] = i + 1 + j;
                    Console.WriteLine(mass1[i, j]);
                }
            }
            Console.WriteLine();
            for (int i = 0; i < b; i++) // заполнение
            {
                for (int j = 0; j < c; j++)
                {
                    mass2[i, j] = i + 1 + j;
                    Console.WriteLine(mass2[i, j]);
                }
            }
            Console.WriteLine();


            //mass3[a, c] = umn(mass1, mass2, a, b, c);
            umn(mass1, mass2, a, b, c);
   }

/
проблема
никак не могу разобраться, как вернуть из функции массив.
любой помощи по этому вопросу буду рад

vedro-compota's picture

Масссив "возращается" по общим правилам описания сигнатуры функции.
Пример: http://fkn.ktu10.com/?q=node/5593

_____________
матфак вгу и остальная классика =)