Ask Your Question
0

Pass arguments to an octave call

asked 8 years ago

Marco Caliari gravatar image

Hi, given, say, a = [1,2,3,4], is it possible to pass this vector to an octave call, like octave('a+1')? Of course, this last does not work.

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 8 years ago

vdelecroix gravatar image

updated 8 years ago

It depends on your Sage version (and also octave version actually, see trac ticket 21135). I am able to do in a Sage console

sage: a = [1,2,3,4]
sage: a_octave = octave(a)
sage: norm_octave = a_octave.norm()    #this is calling the function "norm" from octave
sage: norm_octave
 5.47723
sage: type(norm_octave)
<class 'sage.interfaces.octave.OctaveElement'>
sage: my_norm = norm_octave.sage()    # this converts it as a Sage element
sage: type(my_norm)
<type 'sage.rings.real_double.RealDoubleElement'>

Another option is to use the Python module oct2py. If you want to use it from Sage (and not only from Python) you need to do the following

$ sage -pip install oct2py --user

(the argument "--user" here is optional if you have write access to your Sage installation). Once the above step done, you can use oct2py in Sage

Preview: (hide)
link

Your Answer

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

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 270 times

Last updated: Jul 31 '16