package optimization.gradientBasedMethods;

import optimization.util.MathUtils;


/**
 * Computes a projected objective
 * When we tell it to set some parameters it automatically projects the parameters back into the simplex:
 * 
 * 
 * When we tell it to get the gradient in automatically returns the projected gradient:
 * @author javg
 *
 */
public abstract class ProjectedObjective extends Objective{
	
	public abstract double[] projectPoint (double[] point);
	
	public double[] auxParameters;
	
	
	public  void setInitialParameters(double[] params){
		setParameters(projectPoint(params));
	}
	
	
	
	
}