Example usage for org.apache.commons.math3.util FastMath log

List of usage examples for org.apache.commons.math3.util FastMath log

Introduction

In this page you can find the example usage for org.apache.commons.math3.util FastMath log.

Prototype

public static double log(final double x) 

Source Link

Document

Natural logarithm.

Usage

From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java

@Override
public float op(float origin, float other) {
    return (float) FastMath.log(origin);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java

@Override
public double op(double origin, double other) {
    return FastMath.log(origin);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java

@Override
public double op(double origin) {
    return FastMath.log(origin);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java

@Override
public float op(float origin) {
    return (float) FastMath.log(origin);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.LogSoftMax.java

@Override
public void exec(int... dimensions) {
    if (dimensions[0] != 1)
        throw new IllegalArgumentException("Only supports row wise calculations");
    if (x.isMatrix()) {

        INDArray rowMax = x.max(1);/*from ww w  . j a  v  a  2 s . co m*/
        INDArray xMinusRowMax = x.subColumnVector(rowMax);
        INDArray expXMinusRowMax = Nd4j.getExecutioner().execAndReturn(new Exp(xMinusRowMax.dup()));
        INDArray logRowSumExp = expXMinusRowMax.sum(1);
        Nd4j.getExecutioner().exec(new Log(logRowSumExp));

        INDArray logsoftmax = xMinusRowMax.subiColumnVector(logRowSumExp);
        if (this.z != null)
            z.assign(logsoftmax);
        else
            this.z = logsoftmax;
    } else if (x.isVector()) {
        double max = x.maxNumber().doubleValue();
        INDArray xMinusMax = x.sub(max);
        INDArray expXMinusMax = Nd4j.getExecutioner().execAndReturn(new Exp(xMinusMax.dup()));
        double logRowSumExp = FastMath.log(expXMinusMax.sumNumber().doubleValue());

        INDArray logsoftmax = xMinusMax.subi(logRowSumExp);
        if (this.z != null)
            z.assign(logsoftmax);
        else
            this.z = logsoftmax;
    }
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java

@Override
public float op(float origin, float other) {
    return (float) FastMath.log(origin) / (float) FastMath.log((float) base);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java

@Override
public double op(double origin, double other) {
    return FastMath.log(origin) / FastMath.log(base);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java

@Override
public double op(double origin) {
    return FastMath.log(origin) / FastMath.log(base);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java

@Override
public float op(float origin) {
    return (float) FastMath.log(origin) / (float) FastMath.log(base);
}

From source file:org.nd4j.linalg.api.ops.impl.transforms.Stabilize.java

private IComplexNumber stabilize(IComplexNumber c) {
    double realMin = 1.1755e-38f;
    double cutOff = FastMath.log(realMin);
    double curr = c.realComponent().doubleValue();
    if (curr * k > -cutOff)
        return Nd4j.createDouble(-cutOff / k, c.imaginaryComponent().doubleValue());
    else if (curr * k < cutOff)
        return Nd4j.createDouble(cutOff / k, c.imaginaryComponent().doubleValue());
    return c;/*from   ww  w  .  j av  a  2 s.  co m*/

}