@Override public void convertFromVector( final Vector parameters) { this.parameters.assertSameDimensionality(parameters); this.setParameters(parameters); }
@Override public void convertFromVector( final Vector parameters) { this.parameters.assertSameDimensionality(parameters); this.setParameters(parameters); }
@Override public void convertFromVector( final Vector parameters) { this.parameters.assertSameDimensionality(parameters); this.setParameters(parameters); }
public void setValue( Vector value) { value.assertSameDimensionality( this.conditionalDistribution.getParameters() ); this.conditionalDistribution.setParameters(value); }
public void setValue( Vector value) { value.assertSameDimensionality( this.conditionalDistribution.getParameters() ); this.conditionalDistribution.setParameters(value); }
public void setValue( Vector value) { value.assertSameDimensionality( this.conditionalDistribution.getParameters() ); this.conditionalDistribution.setParameters(value); }
@Override public MultinomialDistribution createConditionalDistribution( Vector parameter) { parameter.assertSameDimensionality( this.parameter.getConditionalDistribution().getParameters() ); return super.createConditionalDistribution(parameter); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public MultinomialDistribution createConditionalDistribution( Vector parameter) { parameter.assertSameDimensionality( this.parameter.getConditionalDistribution().getParameters() ); return super.createConditionalDistribution(parameter); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public MultinomialDistribution createConditionalDistribution( Vector parameter) { parameter.assertSameDimensionality( this.parameter.getConditionalDistribution().getParameters() ); return super.createConditionalDistribution(parameter); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public void convertFromVector( final Vector parameters) { parameters.assertSameDimensionality( this.getParameters() ); this.setParameters( ObjectUtil.cloneSafe(parameters) ); }
@Override public double logEvaluate( final Vector input) { Vector xn = input.scale( 1.0 / input.norm1() ); Vector a = this.getParameters(); input.assertSameDimensionality( a ); double logsum = 0.0; final int K = a.getDimensionality(); for( int i = 0; i < K; i++ ) { double xi = xn.getElement(i); if( (xi <= 0.0) || (1.0 <= xi) ) { throw new IllegalArgumentException( "Expected all inputs to be (0.0,infinity): " + input ); } double ai = a.getElement(i); logsum += (ai-1.0) * Math.log( xi ); } logsum -= MathUtil.logMultinomialBetaFunction( a ); return logsum; }
@Override public double logEvaluate( final Vector input) { Vector xn = input.scale( 1.0 / input.norm1() ); Vector a = this.getParameters(); input.assertSameDimensionality( a ); double logsum = 0.0; final int K = a.getDimensionality(); for( int i = 0; i < K; i++ ) { double xi = xn.getElement(i); if( (xi <= 0.0) || (1.0 <= xi) ) { throw new IllegalArgumentException( "Expected all inputs to be (0.0,infinity): " + input ); } double ai = a.getElement(i); logsum += (ai-1.0) * Math.log( xi ); } logsum -= MathUtil.logMultinomialBetaFunction( a ); return logsum; }