 Some of Python's linalg commands in HP Prime - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: Some of Python's linalg commands in HP Prime (/thread-16897.html) Some of Python's linalg commands in HP Prime - Eddie W. Shore - 05-08-2021 01:49 PM 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 add(array, array) or add(matrix, matrix): addition element by element 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. RE: Some of Python's linalg commands in HP Prime - cdmackay - 05-08-2021 11:00 PM 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… RE: Some of Python's linalg commands in HP Prime - John Keith - 05-09-2021 05:36 PM Those sound like the function names from the Prime CAS and the 50g. BTW, pcoeff is misspelled. RE: Some of Python's linalg commands in HP Prime - Eddie W. Shore - 05-09-2021 05:58 PM (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! RE: Some of Python's linalg commands in HP Prime - cdmackay - 05-11-2021 06:47 PM oops, sorry, my comment re Help of course refers to the CAS commands, whereas this thread is about Python… I need more coffee. RE: Some of Python's linalg commands in HP Prime - robmio - 09-08-2021 10:10 PM (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 add(array, array) or add(matrix, matrix): addition element by element 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? RE: Some of Python's linalg commands in HP Prime - parisse - 09-10-2021 04:55 AM There is indeed a bug in transpose for non square matrices. RE: Some of Python's linalg commands in HP Prime - robmio - 09-11-2021 09:13 AM (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;     c=L;     matricezero=zeros(c,r);     for u in range(0,r):         for uu in range (0,c):             matricezero[uu][u]=matriceRr[u][uu];     return matricezero;``` RE: Some of Python's linalg commands in HP Prime - Albert Chan - 09-11-2021 10:36 AM (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]] RE: Some of Python's linalg commands in HP Prime - robmio - 09-11-2021 11:17 AM (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