# How to find all roots of a function in two variables?

August 15, 2010 8:18 AM Subscribe

I've got a long function with two variables, encoding - I suspect - a hidden message. Most likely, the message is somehow encoded in the function's roots. Is there any good software to plot a function in two dimensions and only show the points where it evaluates to zero?

I've tried gnuplot and octave, but I couldn't get them to show what I wanted.

Do you have any ideas? Software for Linux or Windows is appreciated.

Other ideas how to encode a message in a function?

I've tried gnuplot and octave, but I couldn't get them to show what I wanted.

Do you have any ideas? Software for Linux or Windows is appreciated.

Other ideas how to encode a message in a function?

I think any stats package would do this for you. R is free and powerful, you might try the function 'contour3d':

http://rss.acs.unt.edu/Rdoc/library/misc3d/html/contour3d.html

posted by JumpW at 9:19 AM on August 15, 2010

http://rss.acs.unt.edu/Rdoc/library/misc3d/html/contour3d.html

posted by JumpW at 9:19 AM on August 15, 2010

A bit of a kludge in gnuplot might be, given your function f(x,y), to try 'set zrange [-a:a]', with 'a' a very small number, before putting in 'splot f(x,y)'. Gnuplot should then only display those parts of the function near zero. Or alternatively, tell us what the function is and see if the hivemind can work it out!

posted by Dim Siawns at 11:13 AM on August 15, 2010

posted by Dim Siawns at 11:13 AM on August 15, 2010

Please give us the function! That sounds like a wonderful afternoon's diversion.

posted by Netzapper at 12:56 PM on August 15, 2010

posted by Netzapper at 12:56 PM on August 15, 2010

Try googling for implicit curves - what you want to do is draw the implicit curve f(x,y)=0. Gnuplot can handle those, have you checked this page out?

posted by Dr Dracator at 1:13 PM on August 15, 2010

posted by Dr Dracator at 1:13 PM on August 15, 2010

Have you tried simply plotting the function? I ask because it could be an instance of Tupper's Self-Referential Formula being used to convey some other information.

You first need to be able to identify all the roots of the function. For a general function in two variables this could be very, very hard. If it is polynomial (or you can find a reasonable polynomial approximation) you have a shot, using the homotopy continuation method. On the other hand, if it uses transcendental functions you will probably need a more careful analysis.

This sounds like an interesting problem, you have already identified and tagged the class (steganography), I don't have any good further advice for you.

posted by onalark at 10:57 PM on August 15, 2010

You first need to be able to identify all the roots of the function. For a general function in two variables this could be very, very hard. If it is polynomial (or you can find a reasonable polynomial approximation) you have a shot, using the homotopy continuation method. On the other hand, if it uses transcendental functions you will probably need a more careful analysis.

This sounds like an interesting problem, you have already identified and tagged the class (steganography), I don't have any good further advice for you.

posted by onalark at 10:57 PM on August 15, 2010

Thank you for your advice!

I'll try the contour plot later. The function is indeed polynomial.

I most likely won't need all roots, just the ones within a certain range.

to Netzapper:

I understand your curiosity, but if it is indeed a hidden message, it is probably meant to be read by me.

to Dr. Dracator:

I haven't! Thank you, I got lost in the gnuplot manual before, this definitely looks promising!

posted by Triton at 3:45 AM on August 16, 2010

I'll try the contour plot later. The function is indeed polynomial.

I most likely won't need all roots, just the ones within a certain range.

to Netzapper:

I understand your curiosity, but if it is indeed a hidden message, it is probably meant to be read by me.

to Dr. Dracator:

I haven't! Thank you, I got lost in the gnuplot manual before, this definitely looks promising!

posted by Triton at 3:45 AM on August 16, 2010

This thread is closed to new comments.

posted by RustyBrooks at 8:40 AM on August 15, 2010