Some of Python's linalg commands in HP Prime
05-08-2021, 01:49 PM
Post: #1
 Eddie W. Shore Senior Member Posts: 1,286 Joined: Dec 2013
Some of Python's linalg commands in HP Prime
Matrix Format [ [ row ], [ row ], … [ row ] ]

linspace(start, stop, number of points desired + 1)

arange(start, stop, step size); default step size: 1; returns a 1 row array from start to stop using step size

identity(n): returns an identity matrix as n x n

transpose(matrix): transpose of a matrix

inv(matrix): inverse of a matrix

shape(matrix): returns the dimensions of the matrix in an ordered pair (row, columns)

rref(matrix): row reduced echelon form of a matrix

det(matrix): determinant of a square matrix

peval(array of coefficients, x): polynomial evaluation (order is from high to low), can take complex arguments

horner(array of coefficients, x): polynomial evaluation using Horner’s method

pceoff(array of roots): returns an array representing a polynomial’s coefficients, can take complex arguments

proot(array of coefficients): returns an array of roots, can take complex arguments

sub(array, array) or sub(matrix, matrix): subtraction element by element

dot(array, array): dot product

cross(array, array): cross product

imag(complex number): imaginary part – works on arrays and matrices

real(complex number): real part – works on arrays and matrices

I believe that fft and ifft have to do with fast fourier transforms.
05-08-2021, 11:00 PM
Post: #2
 cdmackay Senior Member Posts: 635 Joined: Sep 2018
RE: Some of Python's linalg commands in HP Prime
thanks Eddie.

(05-08-2021 01:49 PM)Eddie W. Shore Wrote:  I believe that fft and ifft have to do with fast fourier transforms.

yup; the integrated Help has a few examples…

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 71B 17B/BII/bII+ 28S 42S/DM42 32SII 48GX 50g 35s 30b/WP34S Prime G2
& Casios, Rockwell 18R :)
05-09-2021, 05:36 PM
Post: #3
 John Keith Senior Member Posts: 750 Joined: Dec 2013
RE: Some of Python's linalg commands in HP Prime
Those sound like the function names from the Prime CAS and the 50g.

BTW, pcoeff is misspelled.
05-09-2021, 05:58 PM
Post: #4
 Eddie W. Shore Senior Member Posts: 1,286 Joined: Dec 2013
RE: Some of Python's linalg commands in HP Prime
(05-09-2021 05:36 PM)John Keith Wrote:  Those sound like the function names from the Prime CAS and the 50g.

BTW, pcoeff is misspelled.

Sorry. Good catch!
05-11-2021, 06:47 PM
Post: #5
 cdmackay Senior Member Posts: 635 Joined: Sep 2018
RE: Some of Python's linalg commands in HP Prime
oops, sorry, my comment re Help of course refers to the CAS commands, whereas this thread is about Python… I need more coffee.

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 71B 17B/BII/bII+ 28S 42S/DM42 32SII 48GX 50g 35s 30b/WP34S Prime G2
& Casios, Rockwell 18R :)
09-08-2021, 10:10 PM
Post: #6
 robmio Member Posts: 125 Joined: Jan 2020
RE: Some of Python's linalg commands in HP Prime
(05-08-2021 01:49 PM)Eddie W. Shore Wrote:  Matrix Format [ [ row ], [ row ], … [ row ] ]

linspace(start, stop, number of points desired + 1)

arange(start, stop, step size); default step size: 1; returns a 1 row array from start to stop using step size

identity(n): returns an identity matrix as n x n

transpose(matrix): transpose of a matrix

inv(matrix): inverse of a matrix

shape(matrix): returns the dimensions of the matrix in an ordered pair (row, columns)

rref(matrix): row reduced echelon form of a matrix

det(matrix): determinant of a square matrix

peval(array of coefficients, x): polynomial evaluation (order is from high to low), can take complex arguments

horner(array of coefficients, x): polynomial evaluation using Horner’s method

pceoff(array of roots): returns an array representing a polynomial’s coefficients, can take complex arguments

proot(array of coefficients): returns an array of roots, can take complex arguments

sub(array, array) or sub(matrix, matrix): subtraction element by element

dot(array, array): dot product

cross(array, array): cross product

imag(complex number): imaginary part – works on arrays and matrices

real(complex number): real part – works on arrays and matrices

I believe that fft and ifft have to do with fast fourier transforms.

Hi, I found it difficult to transpose a matrix with PYTHON. For instance:
transpose ([[1,2,3], [4,5,6]]) gives me this result: [[1,4], [3,2], [5,6]]
The correct result is: [[1,4], [2,5], [3,6]].
Is there a bag perhaps?
09-10-2021, 04:55 AM
Post: #7
 parisse Senior Member Posts: 1,203 Joined: Dec 2013
RE: Some of Python's linalg commands in HP Prime
There is indeed a bug in transpose for non square matrices.
09-11-2021, 09:13 AM
Post: #8
 robmio Member Posts: 125 Joined: Jan 2020
RE: Some of Python's linalg commands in HP Prime
(09-10-2021 04:55 AM)parisse Wrote:  There is indeed a bug in transpose for non square matrices.

Thanks for the answer, Parisse. Since I had to use the "transpose" command in my Python program, I had to write a subroutine to transpose the arrays:

Code:
 from linalg import * def transposeRr(matriceRr):     L=shape(matriceRr);     r=L[0];     c=L[1];     matricezero=zeros(c,r);     for u in range(0,r):         for uu in range (0,c):             matricezero[uu][u]=matriceRr[u][uu];     return matricezero;
09-11-2021, 10:36 AM
Post: #9
 Albert Chan Senior Member Posts: 1,785 Joined: Jul 2018
RE: Some of Python's linalg commands in HP Prime
(09-11-2021 09:13 AM)robmio Wrote:  Since I had to use the "transpose" command in my Python program, I had to write a subroutine to transpose the arrays ...

Is matrix simply list of list ? If yes, we can transpose with a 1-liner.

>>> transpose = lambda a: [list(r) for r in zip(*a)]
>>> transpose([[1,2,3], [4,5,6]])
[[1, 4], [2, 5], [3, 6]]
09-11-2021, 11:17 AM
Post: #10
 robmio Member Posts: 125 Joined: Jan 2020
RE: Some of Python's linalg commands in HP Prime
(09-11-2021 10:36 AM)Albert Chan Wrote:
(09-11-2021 09:13 AM)robmio Wrote:  Since I had to use the "transpose" command in my Python program, I had to write a subroutine to transpose the arrays ...

Is matrix simply list of list ? If yes, we can transpose with a 1-liner.

>>> transpose = lambda a: [list(r) for r in zip(*a)]
>>> transpose([[1,2,3], [4,5,6]])
[[1, 4], [2, 5], [3, 6]]

Congratulations! This short solution you proposed works very well in my program
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)