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?
posted by Triton to Computers & Internet (7 answers total) 1 user marked this as a favorite
Seems like a contour plot would do it, if you could control the coloring, to show the area around 0 to be red or something?
posted by RustyBrooks at 8:40 AM on August 15, 2010

I think any stats package would do this for you. R is free and powerful, you might try the function 'contour3d':
posted by JumpW at 9:19 AM on August 15, 2010

Best answer: 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

Please give us the function! That sounds like a wonderful afternoon's diversion.
posted by Netzapper at 12:56 PM on August 15, 2010

Best answer: 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

Best answer: 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

Response by poster: 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

« Older Help me trick out my indie video studio, please.   |   How do I learn to make short movies? Newer »
This thread is closed to new comments.