HP Forums

Full Version: HP Prime: matrices in programs, in need of help
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

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!

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.

Hi Han,
No, I have Dot(.) in Home Settings

Thank you.

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.

Well, yes, it does work (but.. who would have thought of that).
BTW, what is the purpose, if any, of the "+" signs?

Thank you!

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.

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!

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.

Hi again, and thank you.

Do you know if lists are subject to the same issue as matrices in programs? Thank you.

hello,

no, lists do not have the same restriction.

cyrille