Sage does not (as far as I know) have a matrix constructor from a
string.  You could write your own.  there is an easy but dangerous way
to do that:

matrix(eval("[[1,2],[3,4]]"))

--dangerous as the user could enter any string and on running eval it
could have nasty side-effects (such as a system call to delete all
your files).

This does work:

matrix(pari("[[1,2],[3,4]]").sage())

by using the string parsing from the pari library.  That might work
for you -- the entries would not have to be integers.

John Cremona

On 3 January 2014 07:18, Eileen Ee <eileen...@gmail.com> wrote:
> Hi everyone,
>
> I have a program that requires some user inputs. I know raw_input([...]) can
> be used for string inputs and int(raw_input([...])) for integer inputs but I
> also need a matrix input from users. Is there anyone who can help me with
> this?
>
> I thought of asking the user to input a list, for eg.
>
> in program: g = raw_input(matrix input: ')
>                  G = matrix(g)
>
> sage: matrix input: [[2,2],[3,3]]
>
>  for the matrix [2 2]
>                      [3 3]
>
> but the raw_input function takes my input as a string, ie g =
> "[[2,2],[3,3]]" hence cannot construct the matrix G...I know if those are
> typed into the console, it will work...
>
> sage: g = [[2,2],[3,3]]
> sage: G = matrix(g)
> sage: G
> [2 2]
> [3 3]
>
> But the raw_input function will read it as a string "[[2,2],[3,3]]" and will
> not work... Is there some easy way for user to input a matrix?....
>
> Thanks in advance!
> Eileen
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-support+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-support@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to