Hello hp-prime community
On CAS MODE & "Textbook Display on" or pretty-print.
Why the command names are "renamed" to uppercase?
Disabling "Textbook Display off" Is shown as it should be
The are commands that are "renamed" to uppercase
TYPE, DIM EVAL
For the following case (LEFT CMD), it display the names correctly
left(a = b) -> a
LEFT("a = b",3) -> "a ="
Another case with ALGEBRAIC input mode on
va:=[a,b] -> [a,b]
Lowercase command
abs(va) -> |va| -> [abs(a),abs(b)] // ok, Absolute value of each element
Uppercase command
ABS(va) -> |va| -> v(a^2+b^2) // ok, but it is displayed with the same symbol in the history this causes an output contradiction when copying screenshots into guides, texts etc.
Should be displayed in the history as ||va||
PS: Diff, & (') is not seen in (typeset math)
vd:=[f(x),g(x)];
ve:=[x(t),y(t)];
vd' -> diff(vd) -> [diff(f(x),x),diff(g(x),x)]
diff(ve,t) -> [diff(x(t),t),diff(y(t),t)]
All derivative representations must be displayed en Pretty-Print
Because a list of names of commands that were "identical" was created. The idea was that it would create less confusion instead of dim vs DIM and so on. However, that has turned out to not be the case - especially as the CAS has changed, or had functionality that was not expected.
It will probably be removed at some point to stop these posts.
The double functionality is valid and I agree
ABS vs abs
The problem is only visualization within the history view with "Textbook Display on" & ALGEBRAIC input mode
Because copying the expression to the input line is renamed.
Please try the following
Enable the ALGEBRAIC input mode & "Textbook Display off"
abs([a,b]) → [abs(a), abs(b)] // ok
[up][up][copy]
abs([a,b]) → [abs(a), abs(b)] // ok
but
Enable the TEXTBOOK input mode & "Textbook Display off"
abs([a,b]) → ABS([a,b]) → √(a^2+b^2)
This is not logical, the same input two different answers
Another case
CAS MODE
MAKEMAT(0,10); -> Error: Bad Argument Type" Why?
makemat(0,10); ->[[0,0,0,0,0,0,0,0,0,0]]
makeMat(0,10); -> [0,0,0,0,0,0,0,0,0,0]; // ok =)
mat1:=makeMat(0,10); -> [0,0,0,0,0,0,0,0,0,0]; // ok =)
mat1(1):=a; -> [a,0,0,0,0,0,0,0,0,0]; // ok =)
mat1(10):=j; -> [a,0,0,0,0,0,0,0,0,j]; // ok =)
mat1[2]:=b; -> [a,b,0,0,0,0,0,0,0,0]; // ok =)
mat1[2]; -> b // ok
mat1(2); -> b // ok
dim(mat1); -> 10 // ok
DIM(mat1); -> {10} // ok
DIM(mat1)[1]; -> 10 // ok
DIM(mat1)(1); -> 10 // ok
MAKELIST(0,X,1,10); -> {0,0,0,0,0,0,0,0,0,0} // ok
makelist(0,X,1,10); -> [0] Why?
makeList(0,X,1,10); -> Error: Bad Argument Type" Why?
list1:=MAKELIST(0,X,1,10) -> {0,0,0,0,0,0,0,0,0,0} // ok
dim(list1); -> 10 // ok
DIM(list1); -> {1,1,1,1,1,1,1,1,1,1} // ok
mat0:=MAKEMAT(0,3,4) -> [[0,0,0,0],[0,0,0,0],[0,0,0,0]] // ok
HOME
DIM(mat1) -> {10}
dim(mat1) -> {10}
DIM(mat1)[1] -> {[10]} -> 10
DIM(mat1)(1) -> {10} ?
inside program (HOME)
local elements:=dim(mat1)[1]; // error
or
local elements:=dim(mat1)(1); // error
for aux_index_i from 1 to dim(a)[1] do // error