>> 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.