/// <summary>
        /// Calculates the ROE from given inputs.
        /// </summary>
        /// <param name="revenue"></param>
        /// <param name="sp"></param>
        /// <param name="cost"></param>
        /// <param name="rore"></param>
        /// <param name="dfCapital"></param>
        /// <param name="dfMarket"></param>
        /// <param name="taxRate"></param>
        /// <param name="frankingRate"></param>
        /// <param name="regCap"></param>
        /// <param name="ffp"></param>
        /// <param name="fxRate"></param>
        /// <returns></returns>
        public Decimal[,] CalculateROE(Decimal[,] revenue, decimal[] sp, decimal[] cost, decimal[] rore,
                                       decimal[] dfCapital, decimal[] dfMarket, decimal taxRate, decimal frankingRate,
                                       decimal[] regCap, decimal ffp, decimal fxRate)
        {
            var result = ROEAnalytics.CalculateROE(ArrayHelper.MatrixToArray(revenue), sp, cost, rore, dfCapital,
                                                   dfMarket, taxRate, frankingRate, regCap, ffp, fxRate);

            return(ArrayHelper.ArrayToVerticalMatrix(result));
        }
        /// <summary>
        /// Calculates the cost of capital.
        /// </summary>
        /// <param name="revenueBuckets"></param>
        /// <param name="costCapital"></param>
        /// <returns></returns>
        public Decimal[,] GetCostOfCapitalDFs(int[,] revenueBuckets, Decimal costCapital)
        {
            var result = ROEAnalytics.GetCostOfCapitalDFs(ArrayHelper.MatrixToArray(revenueBuckets), costCapital);

            return(ArrayHelper.ArrayToVerticalMatrix(result));
        }