Swati, NoFirstName on Thu, 21 Mar 2024 18:38:12 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Error in pari/gp code |
Dear Professor,
Thank you very much for your help. Also, my apologies as the value 4 in the first row got typed by mistake.
Best Regards,
Swati
From: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
Sent: Thursday, March 21, 2024 1:13 PM To: Swati, NoFirstName <S10@email.sc.edu> Cc: pari-users@pari.math.u-bordeaux.fr <pari-users@pari.math.u-bordeaux.fr> Subject: Re: Error in pari/gp code * Swati, NoFirstName [2024-03-21 17:10]:
> Hi, > I am trying to write a code to output the position of the last non-zero entry of this matrix but the code is giving a syntax error. I am not sure what went wrong. Could someone help in this regard? > > Thanks, > Swati > > C = [[1, 2, 3, 4], [7, 9, 10], [25, 31, 0], [0, 0, 0]]; > A = matconcat([C[1]; C[2]; C[3]; C[4]]); > > R = 0; > C = 0; > S= 0; > > for(i = matsize(A)[1], i >= 1 && S == 0, i--, > for(j = matsize(A)[2], j >= 1 && S== 0, j--, > if(A[i, j] != 0, > R = i; > C = j; > S = 1; > break; > ))) > > if(S == 1, > print("Position of the last non-zero entry:" [R, C]), > print("Matrix A contains only zeros.") > ); > Here's a corrected version { my (R = 0, C = 0); forstep(i = matsize(A)[1], 1, -1, forstep(j = matsize(A)[2], 1, -1, if(A[i, j] != 0, R = i; C = j; break(2)))); if (R, print("Position of the last non-zero entry: ", [R, C]) , print("Matrix A contains only zeros.")); } Position of the last non-zero entry: [3, 2] Cheers, K.B. -- Pr. Karim Belabas, U. Bordeaux, Vice-président en charge du Numérique Institut de Mathématiques de Bordeaux UMR 5251 - (+33) 05 40 00 29 77 https://nam02.safelinks.protection.outlook.com/?url=""> |