a helper to construct a new prior information equation.

        Parameters
        ----------
        par_names : list
            parameter names in the equation
        pilbl : str
            name to assign the prior information equation.  If None,
            a generic equation name is formed. Default is None
        rhs : (float)
            the right-hand side of the equation
        weight : (float)
            the weight of the equation
        obs_group : str
            the observation group for the equation. Default is 'pi_obgnme'
        coef_dict : dict
            a dictionary of parameter name, coefficient pairs to assign
            leading coefficients for one or more parameters in the equation.
            If a parameter is not listed, 1.0 is used for its coefficients.
            Default is {}

def add_pi_equation(self,par_names,pilbl=None,rhs=0.0,weight=1.0,
                        obs_group="pi_obgnme",coef_dict={}):
        """ a helper to construct a new prior information equation.

        Parameters
        ----------
        par_names : list
            parameter names in the equation
        pilbl : str
            name to assign the prior information equation.  If None,
            a generic equation name is formed. Default is None
        rhs : (float)
            the right-hand side of the equation
        weight : (float)
            the weight of the equation
        obs_group : str
            the observation group for the equation. Default is 'pi_obgnme'
        coef_dict : dict
            a dictionary of parameter name, coefficient pairs to assign
            leading coefficients for one or more parameters in the equation.
            If a parameter is not listed, 1.0 is used for its coefficients.
            Default is {}

        """
        if pilbl is None:
            pilbl = "pilbl_{0}".format(self.__pi_count)
            self.__pi_count += 1
        missing,fixed = [],[]

        for par_name in par_names:
            if par_name not in self.parameter_data.parnme:
                missing.append(par_name)
            elif self.parameter_data.loc[par_name,"partrans"] in ["fixed","tied"]:
                fixed.append(par_name)
        if len(missing) > 0:
            raise Exception("Pst.add_pi_equation(): the following pars "+\
                            " were not found: {0}".format(','.join(missing)))
        if len(fixed) > 0:
            raise Exception("Pst.add_pi_equation(): the following pars "+\
                            " were are fixed/tied: {0}".format(','.join(missing)))
        eqs_str = ''
        sign = ''
        for i,par_name in enumerate(par_names):
            coef = coef_dict.get(par_name,1.0)
            if coef < 0.0:
                sign = '-'
                coef = np.abs(coef)
            elif i > 0: sign = '+'
            if self.parameter_data.loc[par_name,"partrans"] == "log":
                par_name = "log({})".format(par_name)
            eqs_str += " {0} {1} * {2} ".format(sign,coef,par_name)
        eqs_str += " = {0}".format(rhs)
        self.prior_information.loc[pilbl,"pilbl"] = pilbl
        self.prior_information.loc[pilbl,"equation"] = eqs_str
        self.prior_information.loc[pilbl,"weight"] = weight
        self.prior_information.loc[pilbl,"obgnme"] = obs_group