Difference between revisions of "IsProductOperator"

From QETLAB
Jump to navigation Jump to search
(Created page with "{{Function |name=IsProductOperator |desc=Determines if an operator is an elementary tensor |req=opt_args<br />IsProductVector<br />PermuteSystems<br />[[Sc...")
 
(Updated documentation using GeSHi)
Line 2: Line 2:
 
|name=IsProductOperator
 
|name=IsProductOperator
 
|desc=Determines if an [[operator]] is an [[elementary tensor]]
 
|desc=Determines if an [[operator]] is an [[elementary tensor]]
|req=[[opt_args]]<br />[[IsProductVector]]<br />[[PermuteSystems]]<br />[[SchmidtDecomposition]]
+
|rel=[[IsProductVector]]<br />[[OperatorSchmidtDecomposition]]<br />[[OperatorSchmidtRank]]
|rel=[[OperatorSchmidtDecomposition]]<br />[[OperatorSchmidtRank]]
 
 
|upd=November 28, 2012
 
|upd=November 28, 2012
 
|v=1.00}}
 
|v=1.00}}
Line 27: Line 26:
 
==Examples==
 
==Examples==
 
Please provide some examples.
 
Please provide some examples.
 +
 +
{{SourceCode|name=IsProductOperator}}

Revision as of 20:01, 21 September 2014

IsProductOperator
Determines if an operator is an elementary tensor

Other toolboxes required none
Related functions IsProductVector
OperatorSchmidtDecomposition
OperatorSchmidtRank

IsProductOperator is a function that determines if a bipartite or multipartite operator is an elementary tensor or not. If it is an elementary tensor, its tensor decomposition can be provided.

Syntax

  • IPO = IsProductOperator(X)
  • IPO = IsProductOperator(X,DIM)
  • [IPO,DEC] = IsProductOperator(X,DIM)

Argument descriptions

Input arguments

  • X: An operator that acts on a bipartite or multipartite Hilbert space.
  • DIM (optional, by default has all subsystems of equal dimension): A specification of the dimensions of the subsystems that X lives on. DIM can be provided in one of three ways:
    • If DIM is a scalar, it is assumed that X lives on the tensor product of two spaces, the first of which has dimension DIM and the second of which has dimension length(X)/DIM.
    • If $X \in M_{n_1} \otimes \cdots \otimes M_{n_p}$ then DIM should be a row vector containing the dimensions (i.e., DIM = [n_1, ..., n_p]).
    • If the subsystems aren't square (i.e., $X \in M_{m_1, n_1} \otimes \cdots \otimes M_{m_p, n_p}$) then DIM should be a matrix with two rows. The first row of DIM should contain the row dimensions of the subsystems (i.e., the mi's) and its second row should contain the column dimensions (i.e., the ni's). In other words, you should set DIM = [m_1, ..., m_p; n_1, ..., n_p].

Output arguments

  • IPO: Either 1 or 0, indicating that X is or is not an elementary tensor.
  • DEC (optional): If IPO = 1 (i.e., X is an elementary tensor), then DEC is a cell containing two or more operators, the tensor product of which is X. If IPO = 0 then DEC is meaningless.

Examples

Please provide some examples.

Source code

Click here to view this function's source code on github.