Re: [HP-Prime CAS] Bugs and more Bugs ... Message #37 Posted by CompSystems on 2 Aug 2013, 11:30 a.m., in response to message #36 by Gilles Carpentier
>> - If it is not a square matrix, it works like a 'vector of vector' with special rules ... A 'vector of vector' could be something 'exotic' like : [[1 2 3] 3 [1 2] 4] wich is (if i understand well !) a vector of 4 vectors of 3D, 1D 2D 1D dimensions.
but much better, it would define a new data type, special matrices and vectors
so let the matrices and vectors well defined and ready the problem
« [1 2 3] 3 [1 2] 4 » // valid a new data type
« == CHAR #171
» == CHAR #187
The CAS for the student should be transparent, unambiguous, the student would have to think this is a matrix y no a vector of vectors or n dimensional matrix or pseudo-matrix or pseudo-vector or
>> The question is if these extensions (.*) (./) (.+) (.-) (.^) have a sense or not other object
If they have sense, not to violate the linear algebra
(.*) (./) (.+) (.-) (.^) consider dots commands as functions no operators =) like matLab and TI-derive/TI89/Nspire
(.*) == Hadamard function of matrix
(*) no dotProduct
(*) no crossProduct
[HP-Prime CAS++]
[ 1 2 3 ] .+ 4 -> [ 5, 6, 7 ] // OK
[ 1 2 3 ] + 4 -> "Error data type" // OK
[ 1 2 3 ] .- 4 -> [ -3, -2, -1 ] // OK
[ 1 2 3 ] - 4 -> "Error data type" // OK
[ 1 2 3 ] .^ 4 -> [ 1^4, 2^4, 3^4 ] // OK
[ 1 2 3 ] ^ 4 -> "Error data type" // OK
M1 :=
[[ 3, 2, 4 ],
[ 2, 0, 2 ]] // OK
M1^3 -> "Error data type" // OK
M2 :=
[[ 3, 2, 4 ],
[ 2, 0, 2 ],
[4, 2, 3]] // OK
M2 ^ 2 ->
[[ 29, 14, 28 ],
[ 14, 8, 14 ]
[ 28, 14, 29]] // OK
L1 := {
3+4*i, // Dom_Complex
3*x+2*y+4=0, // Dom_Symbolic
"3*x+2*y+4=0" , // Dom_String
"x: =", // Dom_String
[[ 3, 2, 4 ], [ 2, 0, 2 ]], // Dom_matrix =) not List
2, // Dom_Int
2,7182, // Dom_Float
[ 1, 2 ], // Dom_Vector, not list
{ A, Z0, L0, M0, G0 } // Dom_List With A = #, B = complex#, L0 =List, M0 = Matrix, G0 = Graphic
}
L1 ^ 3 -> "Error data type" // ...
L1(1) ^ 3 == (3+4*i) ^ 3 // valid
L1(2) ^ 3 == (3*x+2*y+4=0) ^ 3 // valid
L1(3) ^ 3 == "3*x+2*y+4=0" ^ 3 // invalid
L1(4) ^ 3 == "x: =" ^ 3 // invalid
L1(5) ^ 3 == [[ 3, 2, 4 ], [ 2, 0, 2 ]]^3 // invalid
L1(6) ^ 3 == 2^3 // valid
L1(7) ^ 3 == 2,7182^3 // valid
>>
[HP-Prime CAS] current
L1^3 [Enter] return { BUG LIST } =(
// [Request] please do not make sense to apply an operator (*,^,/,+,-) and others commands to all types of objects in the calculator
Other BUG
[+/-]"HPPrime" [Enter] return "-HPPrime" ???
"HPprimeCAS"-"-" return "HPprimeCAS--" ???
"HPprimeCAS" + "++ > TInspireCAS" return "HPprimeCAS++ > TInspireCAS" // OK HP CAS > TI CAS
EXPR("X =" + 3 ) [Enter] return X=3 // OK
EXPR("X =" ^ 3 ) [Enter] "Error data type" // OK
>> 2/ Use the .* ./ etc syntax (this does'nt work with the pre-release)
[[1,2][3,4]] .^ 2
if work with the pre-release firts place [.], then from the character 'window" [Shift]+[Var] insert "^" character and run =)
[Request] [Shift-Lock]+[x^y] = '^' no template x^y
[Shift-Lock]+[+/-]= '|' evaluate
Edited: 2 Aug 2013, 9:49 p.m.
|