使用Java Apache Common Maths,我想将指数函数应用于RealMatrix的每个元素,而不必逐行遍历每个元素并使用for循环。
换句话说,在ACM中是否存在一个指数函数,其中输入一个RealMatrix,其输出是exp(RealMatrix),以优化的方式写入?
最后,如果我想创建比指数更复杂的函数,是否有一些指导原则?
请在下面找到我目前极度优化的代码:
RealMatrix payoffVector = MatrixUtils.createRealMatrix(numberOfSimulation, 1);
for (int i = 0; i <= numberOfSimulation - 1; i++) {
double randNumber = randGenerator.nextVector()[0];
double pathPayoff = mForwardPrice;
pathPayoff *= Math.exp(-0.5 * mVolatility * mVolatility * mTimeToMaturity
+ mVolatility * Math.sqrt(mTimeToMaturity) * distrib.inverseCumulativeProbability(randNumber));
pathPayoff = Math.max(pathPayoff - mStrike, 0);
payoffVector.setEntry(i, 0, pathPayoff);
totalOfTheVector += pathPayoff;
}