First time here? Check out the FAQ!

Ask Your Question
1

Mathematica graphics in a sage notebook - second take

asked 13 years ago

enedene gravatar image

updated 13 years ago

This question was already asked, but the answer doesn't work for me so I was suggested that I ask it again with the specifics of my problem. So here goes.
To quote Simons's answer:
In SAGE_ROOT/devel/sage/sage/interfaces/mathematica.py you find the show() function:

def show(self, filename=None, ImageSize=600):
r"""
Show a mathematica expression or plot in the Sage notebook.

EXAMPLES::

    sage: P = mathematica('Plot[Sin[x],{x,-2Pi,4Pi}]')   # optional - mathematica
    sage: show(P)                                        # optional - mathematica
    sage: P.show(ImageSize=800)                          # optional - mathematica
    sage: Q = mathematica('Sin[x Cos[y]]/Sqrt[1-x^2]')   # optional - mathematica
    sage: show(Q)                                        # optional - mathematica
    <html><div class="math">\frac{\sin (x \cos (y))}{\sqrt{1-x^2}}</div></html>
"""

I'm not sure should I use sage input method or mathematica so I'll do both.
sage input method:
For test that MathKernel works:

mathematica('N[Pi,10]')

returns

3.141592654

Now if I try the first example:

P = mathematica('Plot[Sin[x],{x,-2Pi,4Pi}]')
show(P)

I get nothing, it just appears to work (waiting cursor) but no output. By checking the process list on server, MathKernel is shown.

Next I tried mathematica input method:

N[Pi,10]

returns

3.141592654

Test works.

Plot[Sin[x],{x,-2Pi,4Pi}]

returns

-Graphics-

EDIT: Ubuntu Server 10.04 without GUI, Mathematica 8.0, Sage 4.7.1

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 13 years ago

kcrisman gravatar image

updated 13 years ago

I don't know if this is the answer. But notice in the documentation:

Show a mathematica expression or plot in the Sage notebook.

The code has

        P.chdir(os.path.abspath("."))
        s = 'Export["%s", %s, ImageSize->%s]'%(filename, self.name(), ImageSize)
        P.eval(s)
        P.chdir(orig_dir)

So it's doing the chdir thing inside the notebook in order to make sure the graphics file is found in the right place there, but that won't work with the command line.

You may, though, be able to evaluate a Mma command that just saves the file to some filename. It looks like that Export command might do it, but I don't have Mma, so I couldn't tell. I bet it's worth a shot, though.

Preview: (hide)
link

Comments

I would really like to have the output in web interface, otherwise it's more practical to connect to mathematica via shell.

enedene gravatar imageenedene ( 13 years ago )

And you're saying that this doesn't work in the notebook? I thought you were using command line... maybe there is something weird. Is Mathematica in your path?

kcrisman gravatar imagekcrisman ( 13 years ago )

@kcrisman exactly I'm using web interface notebook, and there I can't get a graphical output. Since sage can find Mathematica to calculate N[Pi,10], it should do so for graphics. And the process can be seen if I connect to server via ssh and run top command.

enedene gravatar imageenedene ( 13 years ago )

Huh. I'm stumped, but I'm not an expert on this either. If you don't get any more answers here, I'd try sage-support@googlegroups.com, where there are definitely people who use the Mma interface regularly. Sorry I cannot help more.

kcrisman gravatar imagekcrisman ( 13 years ago )

@kcirsman no problem, you tried to help, I respect that.

enedene gravatar imageenedene ( 13 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 13 years ago

Seen: 847 times

Last updated: Oct 22 '11