HP Prime: matrices in programs, in need of help - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: HP Prime: matrices in programs, in need of help (/thread-256968.html) HP Prime: matrices in programs, in need of help - Alberto Candel - 11-25-2013 Hi, I am not sure what I am doing wrong, but a program that I am writing starts by making a 2x3 matrix out of 2 numbers: ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,1,p],[0,1,q]]; //other stuff END; ``` This produces a syntax error right after the last "]" However, this is fine ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,1],[0,1]]; //other stuff END; ``` but this is not ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,p],[0,q]]; //other stuff END; ``` Thanks! Re: HP Prime: matrices in programs, in need of help - Han - 11-25-2013 Quote: Hi, I am not sure what I am doing wrong, but a program that I am writing starts by making a 2x3 matrix out of 2 numbers: ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,1,p],[0,1,q]]; //other stuff END; ``` This produces a syntax error right after the last "]" However, this is fine ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,1],[0,1]]; //other stuff END; ``` but this is not ```EXPORT EU(p,q) BEGIN LOCAL m; m:=[[0,p],[0,q]]; //other stuff END; ``` Thanks! Are you using "comma (,)" mode? If so, this is currently bugged because "," is treated as the new decimal point, and ";" becomes the new comma. Therefore the parser is incorrectly treating the ";" as a comma. The result is a syntax error. Re: HP Prime: matrices in programs, in need of help - Alberto Candel - 11-25-2013 Hi Han, No, I have Dot(.) in Home Settings Thank you. Re: HP Prime: matrices in programs, in need of help - Patrice - 11-25-2013 Non constant matrix is not supported directly on Prime 1.0 build a string with your matrix , replacing variables by their values and then use EXPR to convert the string to a matrix with right values. m:=EXPR("[[0,1,"+p+"],[0,1,"+q+"]]"); rather dirty trick but it works. Re: HP Prime: matrices in programs, in need of help - Alberto Candel - 11-25-2013 Well, yes, it does work (but.. who would have thought of that). BTW, what is the purpose, if any, of the "+" signs? Thank you! Re: HP Prime: matrices in programs, in need of help - Han - 11-25-2013 Quote: Well, yes, it does work (but.. who would have thought of that). BTW, what is the purpose, if any, of the "+" signs? Thank you! It's just addition. He's creating a string which the command EXPR() converts into an expression. The current firmware does not support local variables inside matrices. Re: HP Prime: matrices in programs, in need of help - Alberto Candel - 11-25-2013 Oh, I see. Thank you for the explanation. That is probably why the rest of my program, while syntax error free, makes my HP to crash. It is unfortunate that matrices cannot be handled in programs. I was rewriting a version of the euclidean algorithm that uses matrices for a number theory class, but ... it works wonderfully on the TI89! Re: HP Prime: matrices in programs, in need of help - Han - 11-25-2013 Quote: Oh, I see. Thank you for the explanation. That is probably why the rest of my program, while syntax error free, makes my HP to crash. It is unfortunate that matrices cannot be handled in programs. I was rewriting a version of the euclidean algorithm that uses matrices for a number theory class, but ... it works wonderfully on the TI89! I am fairly certain that this issue is well known at this point (to the developers, that is) as there were many discussions in this forum on it not long after the Prime became available for purchase. Re: HP Prime: matrices in programs, in need of help - Alberto Candel - 11-25-2013 Hi again, and thank you. Do you know if lists are subject to the same issue as matrices in programs? Thank you. Re: HP Prime: matrices in programs, in need of help - cyrille de BrĂ©bisson - 11-26-2013 hello, no, lists do not have the same restriction. cyrille