class ExponentialVertex extends VertexImpl<DoubleTensor, DoubleVertex> implements DoubleVertex, Differentiable, ProbabilisticDouble, SamplableWithManyScalars<DoubleTensor>, LogProbGraphSupplier {

    @Override
    public double logProb(DoubleTensor value) {

        DoubleTensor lambdaValues = rate.getValue();

        DoubleTensor logPdfs = Exponential.withParameters(lambdaValues).logProb(value);

        return logPdfs.sumNumber();
    }

    public  ExponentialVertex(@LoadShape long[] tensorShape,
                             @LoadVertexParam(RATE_NAME) Vertex<DoubleTensor, ?> rate);
    @ExportVertexToPythonBindings public  ExponentialVertex(Vertex<DoubleTensor, ?> rate);
    public  ExponentialVertex(double rate);

}