Advanced User's Manual and solution to the ambiguity of data types [HP-Prime xCAS] CompSystems Member Posts: 213 Threads: 60 Joined: Mar 2013 08-11-2013, 10:47 PM Perdon Google Translator Hello, there are 2 adaptations or ports de xCAS en i-OS 1: [CAS Calc P11] - Scientific Graphing Calculator for Math and Science 2: [PocketCAS] As yet we have not advanced user guide [HP-PrimeCAS], find documentation on the internet, reading the manuals seee how powerful the xcas, and talk about a multi-list data type using brackets, as well as CAS is a mathematical designed for experts, too complicated for beginners, and I think it will be confusing for the middle and high school student for example sets (set) requires a prefix before the bracket set[] sequences (seq) requires a prefix before of the bracket seq[] should also have prefixes for vectors and matrices vector => vec[] matrix => mat[]   So avoiding the ambiguity in data manipulation, are saying? User's Manual source: Screenshot My idea: sample set[1,2,3,4] intersect set[5,6,3,4] // Edit paste on "emulator" lst[1,2,3,4] * lst[5,6,3,4] => { 5, 12, 9, 16 } mat[1,2,3,4] * mat[5,6,3,4] => "Invalid Dimension" ... Edited: 14 Aug 2013, 12:26 p.m. after one or more responses were posted Joe Horn Member Posts: 153 Threads: 7 Joined: Jun 2008 08-12-2013, 02:57 AM Would some kindly volunteer please translate CompSystems' postings into clear, discrete points? It would sure help. I get the feeling that he has valid points that deserve attention... but I can't figure out what they are. Thanks in advance. -Joe- deachp Junior Member Posts: 9 Threads: 0 Joined: Aug 2013 08-12-2013, 12:34 PM CompSystems meant: ********************************** Hello everybody, I see there are two xCAS ports for iOS 1: [CAS Calc P11] - Scientific Graphing Calculator for Math and Science 2: [PocketCAS] And because of there are not [HP-PrimeCAS] Advanced User Guides, then I was looking for more information about xCAS, and found xCAS manuals that show how powerful it is, expecificly about multi-list type limited by brackets[], and then I think if HP Prime CAS was designed to be useful for experts and so complicated for beginners and high school students, maybe will be posible to use prefixes before brackets []: Sets: it would be required "set" prefix: set[]. Sequences: it would be required "seq" prefix: seq[]. Vectors: it would be required "vec" prefix: vec[]. Matrices: it would be required "mat" prefix: mat[]. It would help to avoiding ambiguity on data manipulation, what do you think? (To make difference between sets, sequences, lists, matrices and vectors) ***************************************************** Edited: 12 Aug 2013, 12:37 p.m. CompSystems Member Posts: 213 Threads: 60 Joined: Mar 2013 08-14-2013, 10:11 AM Perdon in castillian Observen la 1er imagen de arriba, segun el xcas (vector * vector) lo define como producto punto, (poder se puede, aunque sea antipedagógico), ahora si uso el comando DOT( [ i, 1 ], [ i, 1 ] ) lo hace muy bien => 2 //OK // recuerde que i = v¬ -1, i^2 = -1 pero si uso la notación "facil" es decir para no escribir la palabra super larga DOT, si no el ( * ) como le gusta al autor del xCAS [ i, 1 ] * [ i, 1 ] // lo hace muy mal => 0 //BUG // tiene que tener en cuenta que es un vector con números complejos y debe realizar la conjugada del vector antes de realizar el producto punto, [Request] se requiere en programación un comando para detectar si un vector o matriz tiene entradas con números complejos, isComplexArray?(arg) => true/false hay una incoherencia, primero dice que use ( * ) como reemplazo de DOT, pero no lo aplica, en lugar de facilitar las cosas las complica, yo quiero un CAS riguroso osea como debe ser, para el mundo real el mundo de la aula de clase Como todo es un mismo tipo de dato, entonces lista * vector debe operarse { i, 1 } * [[ i, 1 ]] => [ -1, i ] ??????? // No se que tipo de operación esta realizando, no es producto punto, ni multiplicación elemento a elemento,buscando en los libros modernos de álgebra lineal, de pronto hay algún nuevo producto entre vectores que yo aun lo desconozca Ahora como una matrix, es un vector y una lista a la ves (sopa de letras) [[ i, 1 ]] * [[ i, 1 ]] es producto punto de vectores?/ multiplicacion de matrices?/ multiplicacion de listas?, supongo que es matrices por los dobles corchetes, o vector con un vector interno según el manual del CAS, si es un vector de vector debe hacer el producto punto o no, pero no lo hace, retorna vació [[]], es decir, no se que decir, tengo que interpretar las respuesta, yo ya soy viejo, quiero ver la cara de un estudiante que al multiplicar vea una matriz vacia [ [ ] ] [[ i, 1 ]] * [[ i, 1 ]] => [[]] significa que las entradas son matrices fila y como no son "compatibles" para el operador ( * ) entonces no hay respuesta o vector de vector vacio [[]], ahora dentro de un programa tengo que hacer un if ... == [[]] then "invalid dimension" else endif y así para muchos comandos es decir tengo que re-escribir o hacer una biblioteca de funciones nuevas para "acomodar" la mala filosofía del xCAS, no es que sea malo, si no que tiene un mal enfoque dentro de la versión para la HP-Prime la HP-prime tambien es una calculadora ambigua en la utilización de nombres de ls comandos , aveces utiliza nombres con siglas otras veces completos, es el caso de TRN y transspose [Request] HAY QUE RENOMBRAR muchos nombres de comandos, por ejemplo heredaron muchos malos nombres de la HP50G el comando TRN (transpose conjugate como transConj) hay que utilizar nombres nemotecnicos, recordemos que este producto va hacia el campo educativo crossp => crossProd, y utilizar cambio de minúscula a Mayúscula en nombres compuestos dentro del catalogo [Request] el # 2 como suena parecido a (to) entonces en ingles se usa como reemplazo, mat2list => matToList // pero mejor se usa el # 2 para crear una 2da version de un comando [Request] permitir asignar a la letra minúscula "i" como lo hace matlab, para que el usuario pueda definir a su gusto el valor de i y no restringirlo a la unidad imaginaria si el usuario re-asigna 'i' matlab usa una 'i' interna (buena idea) [Request for emulator] Como hubo muchas correcciones entre la versión pre-release y la actual, sugiero que las próximas versiones del "emulador" de la HP-Prime sean bajo TRIAL de 1 mes, de lo contrario circularan por la RED versiones "muy malas", ademas que automáticamente detecte nuevas versiones para su actualización Para diferenciar de una versión a otra recomiendo que en titulo de la ventana, se muestre (CAS V.-.-.-) en lugar de solo CAS Gracias y por que no vender una versión de la HP-Prime para i-OS o Android-OS Edited: 14 Aug 2013, 12:45 p.m. CompSystems Member Posts: 213 Threads: 60 Joined: Mar 2013 08-15-2013, 05:11 PM AlgebraLineal Con CAS Computer Algebra System.pdf Gilles Carpentier Senior Member Posts: 468 Threads: 17 Joined: May 2011 08-16-2013, 04:41 AM Hello, what do you mean with the dot product of [i 1] by [i 1] ? I understand this as a scalar product in a 2D complex vectorial space. It seems to me that scalar product only applies in euclidean space ( dot([1 1] [1 1]) or dot(1+i, 1+i) if you consider C as R²) I'm not sure that the result '2' of the Prime means something here What does Nspire with this ? edit : i mean a scalar product of 2 complex vectors The 50G returns 0 for this but I dont understand what that means [(0,1) (1,0)] DUP DOT -> 0 or ['i' 1 ] DUP DOT -> 1+i*i EVAL -> 0 Edited: 16 Aug 2013, 9:00 a.m. CompSystems Member Posts: 213 Threads: 60 Joined: Mar 2013 08-16-2013, 12:35 PM TI92/89/NSPIRE DOT( [ i , 1 ], [ i , 1 ] ) => 2 Dot Product Source http://books.google.com.co/books?id=FByELohRQd8C&printsec=frontcover&dq=inauthor:%22David+Poole%22&hl=es&sa=X&ei=9l4OUva7IoXb2QWdwIHYDQ&ved=0CDcQ6AEwAQ#v=onepage&q&f=false HP50G SIMPLIFY ( DOT( [ i , 1 ], [ i , 1 ] ) => 0 // =( Fortunately I have a HP50G calculator with upgradable ROM, but maybe launch a new ROMs in 201x ->V2( i, 1 ) // "Bad Argument Type" Why? [HP-Prime request] please pretty print for [[1,2],[3,4]]([1]) // get row # 1 idea [[1,2],[3,4]]([NONE, 2]) // get col # 2 ~ MATLAB thanks Edited: 16 Aug 2013, 1:19 p.m. Han Senior Member Posts: 709 Threads: 104 Joined: Nov 2005 08-20-2013, 10:35 AM From a mathematical point of view, a set has ALWAYS been denoted with {} for me -- not [] (which denotes a row vector). When you start straying from mathematical convention, then (in my opinion), the calculator starts to lose its purpose -- which is to be a mathematical computing machine. The big problem I see here is that HP seems to be relying on an outside source for the core of their HP Prime. Perhaps I am simply misinformed, but HP should not just use xcas as is -- they should have their own developers create an in-house fork and build their own CAS that follows mathematical conventions as far as syntax goes. Perhaps they could even add in several mode flags for, say, engineers or any other field where the conventions for certain types of mathematical objects use a slightly different syntax. Han Senior Member Posts: 709 Threads: 104 Joined: Nov 2005 08-20-2013, 10:45 AM Is there something I don't understand here? Why is DOT(u,u)=2 correct? This seems to be wrong. When I compute the dot product of two row vectors, I get: DOT(u,u) = [ i 1 ] . [ i 1 ] = i^2 + 1^2 = -1 + 1 = 0 Why are the other systems getting 2? My guess is that 'i' here is not the imaginary number equivalent to sqrt(-1). In engineering, 'i' simply denotes a unit vector (though most textbooks use a bold 'i' or an 'i' with an arrow above it). Under this assumption, the the dot product would be correct as 2. However, if that is the case, then one must ask what the meaning is of the '1' within [i 1] -- because if 'i' is just a unit vector, then the '1' must be yet another unit vector (but without any designation such as 'j' or 'k' !?) This is confusing -- and this confusion makes for a terrible CAS. There needs to be some sort of consistency. Is this documented somewhere? Gilles Carpentier Senior Member Posts: 468 Threads: 17 Joined: May 2011 08-20-2013, 11:52 AM I guess it's because we work here in a complex vectorial space CÂ² 'u' is here a vector with complex scalars and the way to calculate the dot product is not the same that in real vectorial space RÂ². For example : u=[a+b.i , c+d.i] dot(u,u) = aÂ²+bÂ²+cÂ²+dÂ² Gilles Carpentier Senior Member Posts: 468 Threads: 17 Joined: May 2011 08-20-2013, 12:10 PM It's not obvious for me... As far I remember, vectors are most of time between () V=(x;y;z) or ``` / x \ V= | y | \ z / or -> V -> AB ``` by the way matrice should also be in () I agree about set {} Edited: 20 Aug 2013, 12:20 p.m. Thomas Klemm Senior Member Posts: 735 Threads: 34 Joined: May 2007 08-20-2013, 12:17 PM Quote: From a mathematical point of view, a set has ALWAYS been denoted with {} for me -- not [] (which denotes a row vector). Too bad that Mathematica has a different convention. Kind regards Thomas Gilles Carpentier Senior Member Posts: 468 Threads: 17 Joined: May 2011 08-20-2013, 12:36 PM Same for vector which are also between { } in Mathematica Han Senior Member Posts: 709 Threads: 104 Joined: Nov 2005 08-20-2013, 01:43 PM I see... thank you for the explanation. It does raise a concern though. Nothing on the HP Prime screen indicates that the operation is over C^2 and not R^2. Nor is there any obvious way to distinguish [ i 1 ] in C^2 from [ i 1 ] from R^2. I would expect some sort of annunciator or flag setting visible on the home screen to help users make the distinction. Han Senior Member Posts: 709 Threads: 104 Joined: Nov 2005 08-20-2013, 01:53 PM With respect to the Mathematica references: Yes, and this is a shame too (esp. since Mathematica started its development at my Alma mater). I don't want to be pedantic, and as much as I love using Mathematica and appreciate that it is deployed over many institutions and research labs, Mathematica is not (and should not be) the standard for mathematics -- especially syntax. We are not helping students (if that is indeed the intended target) in any way when our textbooks use one convention while our electronic tools use another convention that conflicts with those in our textbooks and classrooms. And yes, I am aware that vectors are also written as (a,b,c) or or ai+bj+ck. Thomas Klemm Senior Member Posts: 735 Threads: 34 Joined: May 2007 08-20-2013, 03:37 PM The syntax of Mathematica has one advantage though: f(a + b) = fa + fb and f[a + b] (i.e. function call) can't be confused. The syntax might contradict the way we write mathematical formulas but at least it is consistent. I'd prefer a calculator with the exact Mathematica syntax to a slightly different one that you won't use after high school. Cheers Thomas « Next Oldest | Next Newest »

 Possibly Related Threads... Thread Author Replies Views Last Post Does the HP Prime really compiles the user programs? CompSystems 3 1,926 12-13-2013, 01:55 PM Last Post: Mike Morrow [HP-PIRME] BUG Pretty Print, Solution: abs => |...|, ABS => ||...|| CompSystems 2 1,497 12-13-2013, 09:36 AM Last Post: CompSystems Is Linux common among us RPN types? db (martinez, ca.) 46 10,404 12-11-2013, 08:25 PM Last Post: Paul Guertin HP Prime Manual Revisions? Craig Thomas 0 901 12-09-2013, 11:08 PM Last Post: Craig Thomas HP 50g switching two keys in the user keyboard Sean Freeman 9 2,916 12-05-2013, 11:44 AM Last Post: Mark Puscas HP 41 Advanced Programming Tips Michael Fehlhammer 0 840 11-28-2013, 06:11 PM Last Post: Michael Fehlhammer Sheet data importer for HP Prime Marek Russ 4 1,338 11-15-2013, 04:55 AM Last Post: debrouxl HP Prime - User manual lack bluesun08 6 2,016 11-08-2013, 05:38 PM Last Post: bluesun08 XCas / Prime "solve" question Nigel J Dowrick 4 1,400 11-08-2013, 04:01 AM Last Post: Nigel J Dowrick HP PRIME : strange behavior when trying user key capability Damien 12 2,890 11-03-2013, 11:02 AM Last Post: Joe Horn

Forum Jump: