fork download
  1. import numpy as np
  2. from scipy.linalg import logm, expm
  3.  
  4. A = np.array([[1, 0, 0, 30],
  5. [0, 1, 0, 0],
  6. [0, 0, 1, 0],
  7. [0, 0, 0, 1]])
  8. logA = logm(A)
  9. print("log(A):")
  10. print(logA)
  11. print("From I to A in steps of 0.1:")
  12. for t in range(0, 11):
  13. print(expm(t * 0.1 * logA))
  14.  
  15. B = np.array([[-4.52e-7, 0, -1 , 19.1],
  16. [ 0 , 1, 0 , 0 ],
  17. [ 1 , 0, -4.52e-7, 19.1],
  18. [ 0 , 0, 0 , 1 ]])
  19. logB = logm(B)
  20. print("log(B):")
  21. print(logB)
  22. print("From I to B in steps of 0.1:")
  23. for t in range(0, 11):
  24. print(expm(t * 0.1 * logB))
Success #stdin #stdout 0.33s 40656KB
stdin
Standard input is empty
stdout
log(A):
[[ 0.  0.  0. 30.]
 [ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]]
From I to A in steps of 0.1:
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[1. 0. 0. 3.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[1. 0. 0. 6.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[1. 0. 0. 9.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[ 1.  0.  0. 12.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 15.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 18.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 21.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 24.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 27.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
[[ 1.  0.  0. 30.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]]
log(B):
[[ 1.02077266e-13  0.00000000e+00 -1.57079678e+00  3.00022117e+01]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.57079678e+00  0.00000000e+00  1.02226734e-13 -6.78050027e-06]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00  0.00000000e+00]]
From I to B in steps of 0.1:
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[ 0.98768833  0.         -0.15643451  2.98789851]
 [ 0.          1.          0.          0.        ]
 [ 0.15643451  0.          0.98768833  0.2351521 ]
 [ 0.          0.          0.          1.        ]]
[[ 0.95105649  0.         -0.30901708  5.90222511]
 [ 0.          1.          0.          0.        ]
 [ 0.30901708  0.          0.95105649  0.93481953]
 [ 0.          0.          0.          1.        ]]
[[ 0.89100646  0.         -0.45399062  8.67121936]
 [ 0.          1.          0.          0.        ]
 [ 0.45399062  0.          0.89100646  2.08177413]
 [ 0.          0.          0.          1.        ]]
[[ 0.80901689  0.         -0.5877854  11.2266994 ]
 [ 0.          1.          0.          0.        ]
 [ 0.5877854   0.          0.80901689  3.64777408]
 [ 0.          0.          0.          1.        ]]
[[ 0.70710662  0.         -0.70710694 13.50574078]
 [ 0.          1.          0.          0.        ]
 [ 0.70710694  0.          0.70710662  5.59425922]
 [ 0.          0.          0.          1.        ]]
[[ 0.58778503  0.         -0.80901715 15.45222592]
 [ 0.          1.          0.          0.        ]
 [ 0.80901715  0.          0.58778503  7.8733006 ]
 [ 0.          0.          0.          1.        ]]
[[ 0.45399022  0.         -0.89100667 17.01822587]
 [ 0.          1.          0.          0.        ]
 [ 0.89100667  0.          0.45399022 10.42878064]
 [ 0.          0.          0.          1.        ]]
[[ 0.30901665  0.         -0.95105663 18.16518047]
 [ 0.          1.          0.          0.        ]
 [ 0.95105663  0.          0.30901665 13.19777489]
 [ 0.          0.          0.          1.        ]]
[[ 0.15643406  0.         -0.9876884  18.8648479 ]
 [ 0.          1.          0.          0.        ]
 [ 0.9876884   0.          0.15643406 16.11210149]
 [ 0.          0.          0.          1.        ]]
[[-4.52e-07 -0.00e+00 -1.00e+00  1.91e+01]
 [ 0.00e+00  1.00e+00  0.00e+00  0.00e+00]
 [ 1.00e+00  0.00e+00 -4.52e-07  1.91e+01]
 [ 0.00e+00  0.00e+00  0.00e+00  1.00e+00]]