Quantum++  v0.6
C++11 quantum computing library
operations.h File Reference

Quantum operation functions. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 qpp
 Quantum++ main namespace.
 

Functions

template<typename Derived1 , typename Derived2 >
dyn_mat< typename Derived1::Scalar > qpp::applyCTRL (const Eigen::MatrixBase< Derived1 > &state, const Eigen::MatrixBase< Derived2 > &A, const std::vector< idx > &ctrl, const std::vector< idx > &subsys, const std::vector< idx > &dims)
 Applies the controlled-gate A to the part subsys of the multi-partite state vector or density matrix state. More...
 
template<typename Derived1 , typename Derived2 >
dyn_mat< typename Derived1::Scalar > qpp::applyCTRL (const Eigen::MatrixBase< Derived1 > &state, const Eigen::MatrixBase< Derived2 > &A, const std::vector< idx > &ctrl, const std::vector< idx > &subsys, idx d=2)
 Applies the controlled-gate A to the part subsys of the multi-partite state vector or density matrix state. More...
 
template<typename Derived1 , typename Derived2 >
dyn_mat< typename Derived1::Scalar > qpp::apply (const Eigen::MatrixBase< Derived1 > &state, const Eigen::MatrixBase< Derived2 > &A, const std::vector< idx > &subsys, const std::vector< idx > &dims)
 Applies the gate A to the part subsys of the multi-partite state vector or density matrix state. More...
 
template<typename Derived1 , typename Derived2 >
dyn_mat< typename Derived1::Scalar > qpp::apply (const Eigen::MatrixBase< Derived1 > &state, const Eigen::MatrixBase< Derived2 > &A, const std::vector< idx > &subsys, idx d=2)
 Applies the gate A to the part subsys of the multi-partite state vector or density matrix state. More...
 
template<typename Derived >
cmat qpp::apply (const Eigen::MatrixBase< Derived > &rho, const std::vector< cmat > &Ks)
 Applies the channel specified by the set of Kraus operators Ks to the density matrix rho. More...
 
template<typename Derived >
cmat qpp::apply (const Eigen::MatrixBase< Derived > &rho, const std::vector< cmat > &Ks, const std::vector< idx > &subsys, const std::vector< idx > &dims)
 Applies the channel specified by the set of Kraus operators Ks to the part subsys of the multi-partite density matrix rho. More...
 
template<typename Derived >
cmat qpp::apply (const Eigen::MatrixBase< Derived > &rho, const std::vector< cmat > &Ks, const std::vector< idx > &subsys, idx d=2)
 Applies the channel specified by the set of Kraus operators Ks to the part subsys of the multi-partite density matrix rho. More...
 
cmat qpp::kraus2super (const std::vector< cmat > &Ks)
 Superoperator matrix. More...
 
cmat qpp::kraus2choi (const std::vector< cmat > &Ks)
 Choi matrix. More...
 
std::vector< cmat > qpp::choi2kraus (const cmat &A)
 Orthogonal Kraus operators from Choi matrix. More...
 
cmat qpp::choi2super (const cmat &A)
 Converts Choi matrix to superoperator matrix. More...
 
cmat qpp::super2choi (const cmat &A)
 Converts superoperator matrix to Choi matrix. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptrace1 (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &dims)
 Partial trace. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptrace2 (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &dims)
 Partial trace. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptrace (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &subsys, const std::vector< idx > &dims)
 Partial trace. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptrace (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &subsys, idx d=2)
 Partial trace. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptranspose (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &subsys, const std::vector< idx > &dims)
 Partial transpose. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::ptranspose (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &subsys, idx d=2)
 Partial transpose. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::syspermute (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &perm, const std::vector< idx > &dims)
 Subsystem permutation. More...
 
template<typename Derived >
dyn_mat< typename Derived::Scalar > qpp::syspermute (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > &perm, idx d=2)
 Subsystem permutation. More...
 

Detailed Description

Quantum operation functions.