# HP Forums

You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm implementing a non-linear fitting routine and [/code]I need to square the elements of a vector from within a program. From the CAS screen I can easily square the elements of a vector [1, 2, 3, 4]:
[attachment=7858]

The simple program below has a syntax error:

Code:
``` EXPORT DEMO() BEGIN   LOCAL myvec;   myvec := [1, 2, 3, 4];   apply(x→x^2, myvec); END;```

I don't know what I'm doing wrong.

I looked for a function that would square element-wise, and "apply" seemed to fit the bill. I'm trying to avoid a FOR loop.

I think it would be easier if I just squared a list of numbers, then converted the answer to a vector?
Hi,

apply is a CAS command that does not work under Home. Try converting to a CAS program by sandwiching your code between #cas and #end. Hopefully, that will work.

Take care & good luck, Steve
Alternatively you could also use the "point" operator .^ for element wise power operator on a vector or matrix , e.g.:

Code:
`[1, 2, 3, 4].^2`

resulting in: [1, 4, 9, 16]
(11-26-2019 08:47 PM)swagner53 Wrote: [ -> ]Hi,

apply is a CAS command that does not work under Home. Try converting to a CAS program by sandwiching your code between #cas and #end. Hopefully, that will work.

Take care & good luck, Steve

I found this works:
Code:
``` #cas DEMO2():= BEGIN   apply(x→x^2, [1, 2, 3, 4]); END; #end```

Thanks!
(11-26-2019 11:18 PM)goetz Wrote: [ -> ]Alternatively you could also use the "point" operator .^ for element wise power operator on a vector or matrix , e.g.:

Code:
`[1, 2, 3, 4].^2`

resulting in: [1, 4, 9, 16]

Fantastic!

It seems I still have a ways to go digesting the reference manual - these point operators didn't register while searching for element-wise operators. Guess I have a ways to go to learn how to search the documents.
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :