What problem does it solve? Computing the time-evolution operator U(t) = e^{-iHt} for a quantum Hamiltonian requires decomposing the problem into circuit-constructible pieces. This Skill guides you through Cartan decomposition Hamiltonian simulation, which splits the Hamiltonian's Lie algebra into symmetric and antisymmetric subalgebras and uses a Lax flow to build an approximate evolution circuit with controllable error. ## Core Features & Use Cases - Cartan-Lax Simulation: Run time-evolution simulations on real symmetric Hamiltonians via the cartan-lax method in unitarylab.library.hamiltonian, with tunable error tolerance, learning rate, and iteration budgets. - Exact Benchmarking: Automatically compares the approximate unitary against the exact result computed with scipy.linalg.expm, reporting achieved error and runtime. - Debugging and Reimplementation Support: Includes a manual Lax flow implementation, Pauli decomposition utilities, and known test cases for validation and troubleshooting. - Use Case: Given a 2x2 real symmetric Hamiltonian like H = [[2,1],[1,2]], run the algorithm with t=1.0 and error=1e-3 to obtain the approximate evolution unitary, the exact reference, and the achieved Frobenius-norm error. ## Quick Start Ask the assistant to simulate the time evolution of the Hamiltonian [[2,1],[1,2]] for t=1.0 with error tolerance 1e-3 using Cartan decomposition.