-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Description
While going for a FFT style momentum operation in the position basis i noticed the FFT fails on sparse matrices;
x_basis = PositionBasis(-1,1,10);
p_basis = MomentumBasis(x_basis);
# momentum operator in position basis
p_in_x_basis = transform(x_basis, p_basis) * momentum(p_basis) * transform(p_basis, x_basis);
p_in_x_basis ≈ momentum(x_basis) # false
The lhs is a diagonal matrix
Diagonal(p_in_x_basis.data) == (p_in_x_basis).data # true
The definition in the code is similar, but with a dense operator
transform(x_basis, p_basis) * dense(momentum(p_basis)) * transform(p_basis, x_basis) == momentum(x_basis) # true
My motivation was to get LazyProduct( transform(x_basis, p_basis), momentum(p_basis)^2, transform(p_basis, x_basis) )
Working with QuantumOpticsBase v0.5.4
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels