I have a line in my Pari function similar to
f(c) =
{
x = sqrt(c);
... something more ...
}
c can be, for example, an integer modulo p. It either has or has not the
solution. If there isn't a solution, pari says "non-quadratic residue in
gsqrt" and halts the function. I want to have instead a test, so that if
the square root doesn't exist, the function does something else instead of
halting. So, effectively,
x = sqrt(c)
if(error happened,
do something else,
else no error
);
Is it possible to trap errors in Pari somehow?
I'd like to let the function handle also reals and complex numbers, so I'd
like to assume as little as possible about the variable type.
I'm writing a function to compute square roots from a number of the form
Mod(a,p) + Mod(b,p)*I