# bug #56537: [octave forge] (signal) marcumq can return impossible values or hang completely

 Submitted by: None Submitted on: Fri 21 Jun 2019 04:25:20 PM UTC Category: Octave Forge Package Severity: 3 - Normal Priority: 3 - Low Item Group: Inaccurate Result Status: Confirmed Assigned to: None Originator Name: Jerry W. Lewis Originator Email: -email is unavailable- Open/Closed: Open Release: dev Operating System: Any

You are not logged in

## Discussion

Thu 27 Jun 2019 09:57:05 AM UTC, comment #2:

I tried to rearrange the existing code. I was able to improve it a little bit, but not much. I think we should consider the reference in matlab documentation, that is

Shnidman, D. A., “The Calculation of the Probability of Detection and the Generalized Marcum Q-Function,” IEEE Transactions on Information Theory, Vol. IT-35, March, 1989, pp. 389–400.

Marco Caliari <caliari>
Wed 26 Jun 2019 05:01:55 PM UTC, comment #1:

Confirmed in current versions of Octave and the signal package. Improvements to the marcumq function are of course welcome.

Mike Miller <mtmiller>
Fri 21 Jun 2019 04:25:20 PM UTC, original submission:

The marcumq function calculates a probability and therefore should be bounded by zero and one.  However, the implementation in the Octave 4.4.1 communications package running under Windows (W10) can return Inf without detecting any problems.  Also, it can get into what appears to be an infinite loop.

To illustrate these problems, consider the calculation
marcumq(sqrt(0.2*m), sqrt(2.1*ma), m)
implemented as an anonymous function

f = @(m) marcumq(sqrt(0.2*m), sqrt(2.1*m), m)
f([1,10,100,604]) % essentially machine accuracy for m<=604
f([605,634]) % Inf with no warnings for 605<=m<=634 (should be [0.87004,0.87573])
f(635)       % Inf with warnings for 635<=m<=1033   (should be 0.87592)
f(1033)      % Inf with warnings for 635<=m<=1033   (should be 0.93048)
f(1034)      % hangs (infinite loop?) for m>=1034   (should be 0.93058)

Anonymous

## Attached Files

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Comment:

No files currently attached

## Dependencies

Depends on the following items: None found

Items that depend on this one: None found

Carbon-Copy List
• -email is unavailable- added by caliari (Posted a comment)
• -email is unavailable- added by None (Submitted the item)
•

Do you think this task is very important?
This task has 0 encouragements so far.

Only project members can vote.