>> Gilles Carpentier: We can't say that SOLVE (eq,[x,y,z]) is buggy because it returns :

{ sol1, sol2, sol3 } and you would have prefered : x=sol1 and y=sol2 and z=sol3

---------

I never said that if solve returns the right part of the solution is an error or BUG, I said it was ambiguous

{7, 8, 9} is ambiguous may mean coefficients of a polynomial, a vector, a set, a matrix etc.

{ var1 = expr1, var2 = expr2, ... } ~ MAPLE is a better way to give the answer, this feature must clone because the HP-Prime have commands to separate the left part or right part of an expression as object1 = object2

example

if you want in a program to obtain just the right from

{ x = 7, y = 8, z = 9 }

made

right( {x = 7, y = 8, z = 9}({1}) ) return 7

right( {x = 7, y = 8, z = 9}({2}) ) return 8

right( {x = 7, y = 8, z = 9}({3}) ) return 9

request for HP-Prime development group

1: rename right to RightPart

2: RightPart operate in parallel on the list (one step)

rightPart( { x = 7, y = 8, z = 9} ) return { 7, 8, 9 } = )

3: requires a new command of expression to list

Expr2list({ x = 7, y = 8, z = 9} ) return { 7, 8, 9 } = )

other example

solve( x²-10*x+y² = -8 and x*y²+x-10*y = -8,{x,y} ) =>

{

[ x = 1, y= 1],

[x = 2.19, y = 3.020]

}

Expr2list(

{

[ x = 1, y= 1],

[x = 2.19, y = 3.020]

}) =>

{

[1, 1],

[2.19, 3.020]

}

>>

However I hope improvements with the CAS in the way to manage matrices with adequate warnings like in HOME. imho it's not a big problem but it's disturbing

----

I think that all CAS check arguments, this means that you lose a bit of processing time, but nothing extraordinary

-----

Bernard Parisse Say:

but I don't believe it would be a good idea to clone the HP49/50 or TI nspire CAS behavior vs lists/vectors because that would probably require a lot of work to add strict checks (and would require a lot more conversions commandcalls by the users after).

No quiero que clonen la HP49/50 or TI nspire CAS, quiero que clonen MAPLE, maple chequea argumentos esto no va a ralentizar la calculadora (de ahora en adelante haré las comparaciones mas con MAPLE y otros CAS de PC), y si se requiere conversión de de tipos de datos para pasar entre vectores, listas, matrices, conjuntos, pues hay que hacerlo, nada del otro mundo asi se simple

I: LIST TO MATRIX/VECTOR/POLY

0: list2mat( {{ 1, 2 , 3 }} ) => [[ 1, 2, 3 ]] or

mat{{ 1, 2 , 3 }} => [[ 1, 2, 3 ]]

1: list2vect( { 1, 2 , 3} ) => [ 1, 2, 3 ] or

vect{ 1, 2 , 3 } => [ 1, 2, 3 ]

2: list2poly( { 1, 2 , 3 } ) => x^2+2*x+3 or

poly{ 1, 2 , 3} => x^2+2*x+3

II: MATRIX/VECTOR/POLY to LIST

0: mat2list( [[ 1, 2 , 3 ]] ) => {{ 1, 2, 3 }} or

list[[ 1, 2 , 3 ]] => {{ 1, 2, 3 }}

1: vect2list( [ 1, 2 , 3 ] ) => { 1, 2, 3 } or

list[ 1, 2 , 3 ] => { 1, 2, 3 }

2: poly2list( x^2+2*x+3 ) => { 1, 2, 3 } or

list( x^2+2*x+3 ) => { 1, 2, 3 }

*Edited: 28 Aug 2013, 10:58 a.m. *