Advertisement
papple23g

220916 Inverse matrix - python

Sep 15th, 2022 (edited)
1,324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.91 KB | None | 0 0
  1. import numpy as np
  2. from loguru import logger
  3.  
  4.  
  5. def get_mat(ell_n: int):
  6.     n = 2**ell_n+1
  7.     mat = np.zeros((n, n))
  8.     for i in range(ell_n):
  9.         lt_zero_i, lt_zero_j = i, i
  10.         rb_zero_i, rb_zero_j = -i-1, -i-1
  11.  
  12.         mat[
  13.             lt_zero_i,
  14.             lt_zero_j+1,
  15.         ] = 1/3
  16.         mat[
  17.             rb_zero_i,
  18.             rb_zero_j-1,
  19.         ] = 1/3
  20.  
  21.         mat[
  22.             lt_zero_i+1,
  23.             lt_zero_j,
  24.         ] = 2/3
  25.         mat[
  26.             rb_zero_i-1,
  27.             rb_zero_j,
  28.         ] = 2/3
  29.  
  30.     return mat
  31.  
  32.  
  33. for ell_n in range(11):
  34.     mat = get_mat(ell_n=ell_n)
  35.     det = np.linalg.det(mat)
  36.     try:
  37.         np.linalg.inv(mat)
  38.         logger.success(f"ℓ: {ell_n} is invertible")
  39.     except np.linalg.LinAlgError:
  40.         logger.warning(f"ℓ: {ell_n} is not invertible (det: {det})")
  41.  
  42. """ output
  43. 2022-09-16 11:58:15.490 | WARNING  | __main__:<module>:40 - ℓ: 0 is not invertible (det: 0.0)
  44. 2022-09-16 11:58:15.491 | WARNING  | __main__:<module>:40 - ℓ: 1 is not invertible (det: 0.0)
  45. 2022-09-16 11:58:15.492 | WARNING  | __main__:<module>:40 - ℓ: 2 is not invertible (det: 0.0)
  46. 2022-09-16 11:58:15.492 | WARNING  | __main__:<module>:40 - ℓ: 3 is not invertible (det: 0.0)
  47. 2022-09-16 11:58:15.493 | WARNING  | __main__:<module>:40 - ℓ: 4 is not invertible (det: 0.0)
  48. 2022-09-16 11:58:15.495 | WARNING  | __main__:<module>:40 - ℓ: 5 is not invertible (det: 0.0)
  49. 2022-09-16 11:58:15.531 | WARNING  | __main__:<module>:40 - ℓ: 6 is not invertible (det: 0.0)
  50. 2022-09-16 11:58:15.551 | WARNING  | __main__:<module>:40 - ℓ: 7 is not invertible (det: 0.0)
  51. 2022-09-16 11:58:15.604 | WARNING  | __main__:<module>:40 - ℓ: 8 is not invertible (det: 0.0)
  52. 2022-09-16 11:58:15.923 | WARNING  | __main__:<module>:40 - ℓ: 9 is not invertible (det: 0.0)
  53. 2022-09-16 11:58:16.452 | WARNING  | __main__:<module>:40 - ℓ: 10 is not invertible (det: 0.0)
  54. """
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement