All problems
Similarity Transform
Problem
Apply the similarity transform B = inv(P) * A * P to a 2x2 matrix A.
Similar matrices share the same eigenvalues. Return None if P is singular.
Hint
If P diagonalizes A, the transformed matrix becomes diagonal.
Test cases
case 1
in: [[[2,0],[0,3]],[[1,0],[0,1]]]
expected: [[2,0],[0,3]]
case 2
in: [[[1,2],[3,4]],[[2,0],[0,1]]]
expected: [[1,1],[6,4]]
case 3
in: [[[4,1],[2,3]],[[1,1],[1,-2]]]
expected: [[5,0],[0,2]]
case 4
in: [[[1,2],[2,4]],[[1,1],[1,1]]]
expected: null
Starter codePython
def similarity_transform(A, P):
# Your code here
pass4 test cases · run your code against them in the editor