MatrixExp[(({{a, b}, {c, d}}))] // FullSimplify // MatrixForm

MatrixExp[(({{a, b}, {0, c}}))] // MatrixForm

MatrixExp[(({{(Subscript[a, 1]), (Subscript[b, 1])}, {0, (Subscript[c, 1])}}))].MatrixExp[(({{(Subscript[a, 2]), (Subscript[b, 2])}, {0, (Subscript[c, 2])}}))] // MatrixLog // PowerExpand// Simplify //MatrixForm

Log[(E^x)] // PowerExpand

M2[x_] := (({{(Subscript[x, 11]), (Subscript[x, 12])}, {0, (Subscript[x, 22])}}))

MatrixExp[M2[x]] // MatrixForm

MatrixExp[M2[x]]// MatrixLog // PowerExpand// Simplify //MatrixForm

(MatrixExp[M2[x]].MatrixExp[M2[y]])// MatrixLog // PowerExpand// Simplify //MatrixForm

M3[x_] := (({{(Subscript[x, 11]), (Subscript[x, 12]), (Subscript[x, 13])}, {0, (Subscript[x, 22]), (Subscript[x, 23])}, {0, 0, (Subscript[x, 33])}}))

MatrixExp[M3[x]] // MatrixForm

MatrixExp[M3[x]]// MatrixLog // PowerExpand// Simplify //MatrixForm

(MatrixExp[M3[x]].MatrixExp[M3[y]])// MatrixLog // PowerExpand// Simplify //MatrixForm

(MatrixExp[M3[x]].MatrixExp[M3[y]])// MatrixLog // PowerExpand// FullSimplify //MatrixForm

TimeUsed[]