/src/main/java/net/finmath/fouriermethod/models/VarianceGammaModel.java
final Complex denominator = ( ( Complex.ONE).subtract( iargument.multiply( ) ) ).add( firstLevyExponent
final Complex denominator = ( ( Complex.ONE ) .subtract ( iargument.multiply ( theta*nu ) ) ) .add ( argument.multiply ( argument ) .multiply ( 0.5*sigma*sigma*nu ) ) ;
final double logDiscountFactorForForward = this.getLogDiscountFactorForForward(time); final double logDiscountFactorForDiscounting = this.getLogDiscountFactorForDiscounting(time); return new CharacteristicFunction() { @Override public Complex apply(final Complex argument) { final Complex iargument = argument.multiply(Complex.I); <extra_id_0> final Complex firstLevyExponent = (((Complex.ONE).divide(denominator)).log()).multiply(time/nu); final Complex compensator = iargument.multiply(time/nu * Math.log(1/(1.0-theta*nu-0.5*sigma*sigma*nu))); return (firstLevyExponent.subtract(compensator) .add(iargument.multiply(Math.log(initialValue)-logDiscountFactorForForward)) .add(logDiscountFactorForDiscounting)) .exp();