hi allen,
i'm open to feedback on this point.
eta used to be a double. it was a parameter that the user provided. we
defaulted to some arbitrary number.
then we discovered that tuning eta has a big effect on convergence
time. so we wrote a heuristic tuning procedure for it.
now, we'd like to default to the automatic tuning procedure. if the
user provides a value for eta, we'd like to check for some conditions
(e.g. is it a positive real value?) and bypass the automatic tuning
procedure.
the way i implemented this was by making eta a string that defaults to
"automatically tuned". this shows up in `output.csv` and it looks
fine. if the user provides a value, i read it in as a string and try
casting it to a double. if this fails, i exit with an appropriate
error.
the alternative is to have eta a double, where some special value
(like eta=0) means that we automatically tune it. this is less obvious
to understand by looking at `output.csv`. but the rest of the code is
cleaner.
what say you?
cheers
alp
> You received this message because you are subscribed to a topic in the Google Groups "stan development mailing list" group.
> To unsubscribe from this topic, visit
https://groups.google.com/d/topic/stan-dev/k432c-ljd5w/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
stan-dev+u...@googlegroups.com.