octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #58636] Integral fails to call quadgk for comp


From: Nicholas Jankowski
Subject: [Octave-bug-tracker] [bug #58636] Integral fails to call quadgk for complex integration
Date: Sat, 20 Jun 2020 21:40:05 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

Follow-up Comment #4, bug #58636 (project octave):

looking at quadcc, there's really only one error message that needs to be
caught.  there are two that involve errors for complex numbers, but one is for
complex values in the singularities list, and integral doesn't include that
detail so never passes it to quadcc. The other one is:


if (fvals.length () != 1 || ! fvals(0).is_real_matrix ())
  error ("quadcc: integrand F must return a single, real-valued vector");


at three places in the code.  I don't know if I want this to catch that and
run quadgk for both. looking at the code I'm not sure what sort of input would
trigger that that first length error. I tried a couple inputs but couldn't get
it to pop up. Maybe if I figure out how to trigger that I could see if it
needs to be separated out.

Separating them is easy enough into:


if (fvals.length () != 1)
  error ("quadcc: integrand F must return a single vector");

if (! fvals(0).is_real_matrix ())
  error ("quadcc: integrand F must return a real-valued vector");


So if it doesn't cause issues integral could try/catch based on the first one.
 I also noticed there are no BISTs for that error, so I'd want to add one for
each after the split, if I can find a fn for the latter.

will play with the try/catch in integral now.



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?58636>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]