POLYROOT does not always work inside a program [SOLVED] - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: POLYROOT does not always work inside a program [SOLVED] (/thread-5466.html) |
POLYROOT does not always work inside a program [SOLVED] - JMB - 01-06-2016 08:45 PM I have found a strange behavior (a bug?) while using the function POLYROOT inside a program. My firmware version is 2015 6 17 (8151). The calculator's built-in help states that the argument of this function can be either a symbolic expression or a vector of coefficients, but I have found that a list of coefficients also works as the function's argument. So both POLYROOT([1 -3 2]) and POLYROOT({1, -3, 2}) return the same answer: {1, 2}, in Home and in CAS. The problem arises when I use this function inside a program, for example: EXPORT Test() BEGIN POLYROOT([1, -3, 2]); END; The first thing worth noting in that commas are needed inside [ ], otherwise you get a syntax error when you tap the Check button. Then when you run the program you get the following error message: Test "POLYROOT(ListToMat(EVAL LIST({0,1,3,1-3,2}))) Error: Bad Argument Value)" After trying different numeric values, I have found that this error only happens inside a program, when using [ ] and at least one value is negative. So we have, for example: POLYROOT({1, 3, 2}): correct answer {-2, -1} POLYROOT([1, 3, 2]): correct answer {-2, -1} POLYROOT({1, -3, 2}): correct answer {1, 2} POLYROOT([1, -3, 2]): error, as stated before RE: POLYROOT does not always work inside a program - DrD - 01-06-2016 09:53 PM That does seem to be a problem, and a possible work-around is to pre-assign the vector to a matrix variable: Code:
Also, if passed as a string object, it seems to work: Code:
-Dale- RE: POLYROOT does not always work inside a program - Tim Wessman - 01-11-2016 05:34 PM Hello, I'm fairly sure this one has been caught already, but I will add a specific bug for this case and get it into our testing. Thanks! RE: POLYROOT does not always work inside a program - JMB - 04-30-2016 09:55 AM Corrected in firmware 10077. Thanks to the HP Prime Team! |