acos(0) simplifies to %pi/2, but acosh(0) stays a nounform, so limit(asech(x),x,inf) prints as acosh(0) rather than %i*%pi/2. Between -1 and 1, the argument lies on acosh's branch cut, where acosh(y) = %i*acos(y), so acosh can answer wherever acos's table of special values does:
acosh(0) = %i*%pi/2 acosh(-1) = %i*%pi
acosh(1/2) = %i*%pi/3 acosh(-1/2) = 2*%i*%pi/3
acosh(1/sqrt(2)) = %i*%pi/4 acosh(sqrt(3)/2) = %i*%pi/6
I guess this is kind of an historical artifact where Maxima worked with real numbers instead of complex. Also note that
acos(2)returns the noun form, but a call torectformwill give-(%i*log(2-sqrt(3))).Also
rectform(acosh(0))returns%i*%pi/2.What is my point? Not sure, but I think we should be consistent here so if we're going to simplify acosh(0), we should also simplify acos(2). However, I think I'd prefer to use
rectformto get the complex value.I'd restrict it to the values that
acossimplifies automatically.