Equivariant spaces describe linear map between representations that preserve the group structure.
The hierarchy of equivariant spaces closely mirrors the hierarchy of representations Rep
.
Equivariant
describes the vector space of equivariant linear maps between two representations of the same group.
SubEquivariant
describes a subspace of an equivariant space induced by subspaces of source/target representations.
IsotypicEquivariant
describes a subspace of an equivariant space corresponding to a pair of isotypic subspaces of the source/target representations
IrreducibleEquivariant
is the most interesting class, as it describes the equivariant space in its block form, taking in account the decomposition of the source and target representation into irreps.
Bases: replab.Domain
Describes a vector space of group-equivariant matrices
Let repC
and repR
be two representations of the same group G
.
This describes the set of matrices X
such that repR.image(g) * X = X * repC.image(g)
See Proposition 4 of J.-P. Serre, Linear Representations of Finite Groups (Springer, 1977).
There are several special cases of equivariant spaces which RepLAB uses extensively; these are parameterized
by a single representation rho
from which the equivariant space is constructed.
They are distinguished by the special
property.
Special name |
repR |
repC |
Additional constraint |
---|---|---|---|
antilinear |
rho |
conj(rho) |
|
bilinear |
dual(rho) |
rho |
|
commutant |
rho |
rho |
|
hermitian |
conj(dual(rho)) |
rho |
X = X’ |
sesquilinear |
conj(dual(rho)) |
rho |
|
symmetric |
dual(rho) |
rho |
X = X.’ |
trivialRows |
trivial (d = rho.dimension) |
rho |
|
trivialCols |
rho |
trivial (d = rho.dimension) |
When rho
is unitary:
commutant
and sesquilinear
spaces are identical,
antilinear
and bilinear
space are identical.
When rho
is real:
antilinear
and commutant
spaces are identical,
bilinear
and sesquilinear
spaces are identical,
hermitian
and symmetric
spaces are identical.
Class members list
Properties
field
– Field of the vector space real (R) or complex x(C)
group
– Group being represented
nC
– Column size
nR
– Row size
repC
– Representation of column space
repR
– Representation of row space
special
– Whether the equivariant space has special structure, see comment in replab.Equivariant
Prettyprinting
additionalFields
– Returns the name/value pairs corresponding to additional fields to be printed
disp
– Standard MATLAB/Octave display method
headerStr
– Tiny single line description of the current object type
hiddenFields
– Returns the names of the fields that are not printed as a row vector
longStr
– Multi-line description of the current object
shortStr
– Single line text description of the current object
Property cache
cache
– Sets the value of the designated property in the cache
cached
– Returns the cached property if it exists, computing it if necessary
cachedOrDefault
– Returns the cached property if it exists, or the provided default value if it is unknown yet
cachedOrEmpty
– Returns the cached property if it exists, or []
if it is unknown yet
inCache
– Returns whether the value of the given property has already been computed
Laws
check
– Checks the consistency of this object
checkAndContinue
– Checks the consistency of this object
laws
– Returns the laws that this object obeys
Unique ID
eq
– Equality test
id
– Returns the unique ID of this object (deprecated)
isequal
– Equality test
ne
– Non-equality test
Test helpers
assertEqv
– Compares two elements for equality
assertNotEqv
– Compares two elements for inequality
Sampling and equality test
eqv
– Tests domain elements for equality/equivalence
sample
– Returns an approximate sample from this equivariant space along with estimated numerical error
General
make
– Returns the space of equivariant linear maps between two representations
validateArguments
– Validate and complete arguments used to define an equivariant space
Subspaces
decomposition
– Returns the decomposition of this equivariant space
subEquivariant
– Constructs a invariant subspace of an equivariant space
Properties
isExact
– Returns whether this equivariant space can compute exact projection
Projection
project
– Projects any nR x nC
matrix in the equivariant subspace
Inherited elements
Documentation in replab.Str.additionalFields()
Documentation in replab.Domain.assertEqv()
Documentation in replab.Domain.assertNotEqv()
Documentation in replab.Obj.cache()
Documentation in replab.Obj.cached()
Documentation in replab.Obj.cachedOrDefault()
Documentation in replab.Obj.cachedOrEmpty()
Documentation in replab.Obj.check()
Documentation in replab.Obj.checkAndContinue()
Documentation in replab.Str.disp()
Documentation in replab.Obj.eq()
Documentation in replab.Domain.eqv()
Documentation in replab.Str.headerStr()
Documentation in replab.Str.hiddenFields()
Documentation in replab.Obj.id()
Documentation in replab.Obj.inCache()
Documentation in replab.Obj.isequal()
Documentation in replab.Obj.laws()
Documentation in replab.Str.longStr()
Documentation in replab.Obj.ne()
Documentation in replab.Str.shortStr()
Domain, real or complex matrices
Field of the vector space real (R) or complex x(C)
{‘R’, ‘C’}
Group being represented
Column size
integer
Row size
integer
Representation of column space
Representation of row space
Whether the equivariant space has special structure, see comment in replab.Equivariant
charstring
Returns the decomposition of this equivariant space
The equivariant space
Returns whether this equivariant space can compute exact projection
True if the call self.projection(X, 'exact')
always succeeds
logical
Returns the space of equivariant linear maps between two representations
The equivariant vector space contains the matrices X such that
repC.image(g) * X = X * repR.image(g)
repR (Rep
) – Representation on the target/row space
repC (Rep
) – Representation on the source/column space
special – Special structure if applicable, see Equivariant
, default: ‘’
type – Whether to obtain an exact equivariant space, default ‘double’ (‘double’ and ‘double/sparse’ are equivalent)
charstring, optional
‘exact’, ‘double’ or ‘double/sparse’, optional
The equivariant vector space
Projects any nR x nC
matrix in the equivariant subspace
Performs the integration
`` X1 = int{g in G} dg rhoR.image(g) * X * rhoC.inverseImage(g) ``
Note that there are little benefits usually to use the 'double/sparse'
type compared to 'double'
.
An error if type is 'exact' and isExact is false.
–
X (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
X1 (double(*,*) or cyclotomic
(*,*)) – Projected matrix
err (double) – Estimation of the numerical error, expressed as the distance of the returned X1
to the invariant subspace in Frobenius norm
Returns an approximate sample from this equivariant space along with estimated numerical error
An error if type is 'exact' and isExact is false.
–
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
X (double(*,*)) – A sample from this equivariant space
err (double) – Estimation of the numerical error, expressed as the distance of the returned X
to
the invariant subspace in Frobenius norm
Constructs a invariant subspace of an equivariant space
subC (replab.SubRep
) – A subrepresentation of self.repC
subR (replab.SubRep
) – A subrepresentation of self.repR
special – Special structure if applicable, see Equivariant
, default: ‘’
type – Whether to obtain an exact equivariant space, default ‘double’ (‘double’ and ‘double/sparse’ are equivalent)
charstring, optional
‘exact’, ‘double’ or ‘double/sparse’, optional
Validate and complete arguments used to define an equivariant space
When the special
argument is specified, one can omit either repR
or repC
and it will be completed
automatically.
repR (Rep
or []
) – Representation acting on rows
repC (Rep
or []
) – Representation acting on columns
special (charstring or ''
) – One of the equivariant types, see Equivariant
Bases: replab.Equivariant
Describes a subspace of an equivariant space induced by subspaces of source/target representations
This equivariant space relates to a parent equivariant space as follows.
Class members list
Properties
field
– Field of the vector space real (R) or complex x(C)
group
– Group being represented
nC
– Column size
nR
– Row size
parent
– Parent equivariant space
repC
– Representation of column space
repR
– Representation of row space
special
– Whether the equivariant space has special structure, see comment in replab.Equivariant
Prettyprinting
additionalFields
– Returns the name/value pairs corresponding to additional fields to be printed
disp
– Standard MATLAB/Octave display method
headerStr
– Tiny single line description of the current object type
hiddenFields
– Returns the names of the fields that are not printed as a row vector
longStr
– Multi-line description of the current object
shortStr
– Single line text description of the current object
Property cache
cache
– Sets the value of the designated property in the cache
cached
– Returns the cached property if it exists, computing it if necessary
cachedOrDefault
– Returns the cached property if it exists, or the provided default value if it is unknown yet
cachedOrEmpty
– Returns the cached property if it exists, or []
if it is unknown yet
inCache
– Returns whether the value of the given property has already been computed
Laws
check
– Checks the consistency of this object
checkAndContinue
– Checks the consistency of this object
laws
– Returns the laws that this object obeys
Unique ID
eq
– Equality test
id
– Returns the unique ID of this object (deprecated)
isequal
– Equality test
ne
– Non-equality test
Test helpers
assertEqv
– Compares two elements for equality
assertNotEqv
– Compares two elements for inequality
Sampling and equality test
eqv
– Tests domain elements for equality/equivalence
sample
– Returns an approximate sample from this equivariant space along with estimated numerical error
General
make
– Returns the space of equivariant linear maps between two subrepresentations
Subspaces
decomposition
– Returns the decomposition of this equivariant space
subEquivariant
– Constructs a invariant subspace of an equivariant space
Properties
isExact
– Returns whether this equivariant space can compute exact projection
Projection
project
– Projects any nR x nC
matrix in the equivariant subspace
Projection from parent space
projectFromParent
– Projects the given matrix, written in the parent representation space, into the equivariant space of the subrepresentation
Inherited elements
Documentation in replab.Str.additionalFields()
Documentation in replab.Domain.assertEqv()
Documentation in replab.Domain.assertNotEqv()
Documentation in replab.Obj.cache()
Documentation in replab.Obj.cached()
Documentation in replab.Obj.cachedOrDefault()
Documentation in replab.Obj.cachedOrEmpty()
Documentation in replab.Obj.check()
Documentation in replab.Obj.checkAndContinue()
Documentation in replab.Equivariant.decomposition()
Documentation in replab.Str.disp()
Documentation in replab.Obj.eq()
Documentation in replab.Domain.eqv()
Documentation in replab.Equivariant.field
Documentation in replab.Equivariant.group
Documentation in replab.Str.headerStr()
Documentation in replab.Str.hiddenFields()
Documentation in replab.Obj.id()
Documentation in replab.Obj.inCache()
Documentation in replab.Equivariant.isExact()
Documentation in replab.Obj.isequal()
Documentation in replab.Obj.laws()
Documentation in replab.Str.longStr()
Documentation in replab.Equivariant.nC
Documentation in replab.Equivariant.nR
Documentation in replab.Obj.ne()
Documentation in replab.Equivariant.project()
Documentation in replab.Equivariant.repC
Documentation in replab.Equivariant.repR
Documentation in replab.Equivariant.sample()
Documentation in replab.Str.shortStr()
Documentation in replab.Equivariant.special
Documentation in replab.Equivariant.subEquivariant()
Parent equivariant space
Returns the space of equivariant linear maps between two subrepresentations
The equivariant vector space contains the matrices X such that
repC.image(g) * X = X * repR.image(g)
repR (replab.SubRep
) – Representation on the target/row space
repC (replab.SubRep
) – Representation on the source/column space
special – Special structure if applicable, see Equivariant
, default: ‘’
type – Whether to obtain an exact equivariant space, default ‘double’
parent – Equivariant space of repR.parent
and repC.parent
, default: []
charstring, optional
‘exact’, ‘double’ or ‘double/sparse’, optional
Equivariant
, optional
The equivariant vector space
Projects the given matrix, written in the parent representation space, into the equivariant space of the subrepresentation
An error if type is 'exact' and isExact is false.
–
X (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
X1 (double(*,*) or cyclotomic
(*,*)) – Projected matrix
err (double) – Estimation of the numerical error, expressed as the distance of the returned X1
to the invariant subspace in Frobenius norm
Bases: replab.SubEquivariant
Equivariant space between two harmonized isotypic components containing equivalent representations
We consider two cases.
If the two isotypic components contain equivalent irreducible representations, then isZero
is false and
the matrices in this equivariant space have the following form:
:math:` X = sum_i M(:,:,i) otimes R(:,:,i) otimes A(:,:,i) `
where
\(M\) represents the multiplicity space,
\(R\) is a constant matrix representing the representation space,
\(A\) is a constant matrix encoding the division algebra.
The division algebra matrix \(A\) is given by:
A = 1
if divisionAlgebraName
is ''
A(:,:,1) = [1 0; 0 1]
, A(:,:,2) = [0 -1; 1 0]
if divisionAlgebraName
is 'C->R'
A(:,:,1) = [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]
, A(:,:,2) = [0 -1 0 0; 1 0 0 0; 0 0 0 1; 0 0 -1 0]
,
A(:,:,3) = [0 0 1 0; 0 0 0 1; -1 0 0 0; 0 -1 0 0]
, A(:,:,4) = [0 0 0 -1; 0 0 1 0; 0 -1 0 0; 1 0 0 0]
if divisionAlgebraName
is 'H->R:equivariant'
.
If the two isotypic components contain inequivalent irreps, then isZero
is true. divisionAlgebraName
is '0'
,
and R
has size [m n 0]
.
Example
>>> S3 = replab.S(3);
>>> natDec = S3.naturalRep.decomposition;
>>> std1 = natDec.component(2);
>>> nat2Dec = S3.naturalRep.tensorPower(2).decomposition;
>>> std2 = nat2Dec.component(3);
>>> E = std1.isotypicEquivariantFrom(std2);
>>> X = E.sample;
>>> M = E.projectAndFactor(X);
>>> size(M, 3)
1
>>> R = E.R('double');
>>> A = E.A('double');
>>> tol = 1e-10;
>>> norm(kron(M(:,:,1), kron(R(:,:,1), A(:,:,1))) - X, 'fro') <= tol
1
>>> norm(E.reconstruct(M) - X, 'fro') <= tol
1
Class members list
Properties
R_internal
– Representation space basis
divisionAlgebraName
– Division algebra
field
– Field of the vector space real (R) or complex x(C)
group
– Group being represented
nC
– Column size
nR
– Row size
parent
– Parent equivariant space
repC
– Representation of column space
repR
– Representation of row space
special
– Whether the equivariant space has special structure, see comment in replab.Equivariant
Prettyprinting
additionalFields
– Returns the name/value pairs corresponding to additional fields to be printed
disp
– Standard MATLAB/Octave display method
headerStr
– Tiny single line description of the current object type
hiddenFields
– Returns the names of the fields that are not printed as a row vector
longStr
– Multi-line description of the current object
shortStr
– Single line text description of the current object
Property cache
cache
– Sets the value of the designated property in the cache
cached
– Returns the cached property if it exists, computing it if necessary
cachedOrDefault
– Returns the cached property if it exists, or the provided default value if it is unknown yet
cachedOrEmpty
– Returns the cached property if it exists, or []
if it is unknown yet
inCache
– Returns whether the value of the given property has already been computed
Laws
check
– Checks the consistency of this object
checkAndContinue
– Checks the consistency of this object
laws
– Returns the laws that this object obeys
Unique ID
eq
– Equality test
id
– Returns the unique ID of this object (deprecated)
isequal
– Equality test
ne
– Non-equality test
Test helpers
assertEqv
– Compares two elements for equality
assertNotEqv
– Compares two elements for inequality
Sampling and equality test
eqv
– Tests domain elements for equality/equivalence
sample
– Returns an approximate sample from this equivariant space along with estimated numerical error
General
kronFirstFactor
– Factors a Kronecker product, second step
kronSecondFactor
– Factors a Kronecker product, first step
make
– Returns the space of equivariant linear maps between two isotypic components
Subspaces
decomposition
– Returns the decomposition of this equivariant space
subEquivariant
– Constructs a invariant subspace of an equivariant space
Properties
divisionAlgebraBlockSize
– Returns the dimension of the matrix block encoding the division algebra
divisionAlgebraDimension
– Returns the dimension of the division algebra encoded in this block
isExact
– Returns whether this equivariant space can compute exact projection
isZero
– Returns whether this equivariant space contains only the zero matrix
Projection
project
– Projects any nR x nC
matrix in the equivariant subspace
projectAndFactor
– Projects the given matrix in the commutant algebra and factors it
Projection from parent space
projectAndFactorFromParent
– Projects the given matrix in the parent representation space into the commutant algebra and factors it
projectFromParent
– Projects the given matrix, written in the parent representation space, into the equivariant space of the subrepresentation
Factorization
A
– Returns the division algebra basis
R
– Returns the representation space basis
reconstruct
– Reconstructs an equivariant space element returned by a factorization method
YALMIP helpers
makeSdpvar
– Returns a parameterization of the multiplicity space using YALMIP variables
Inherited elements
No documentation
Documentation in replab.Str.additionalFields()
Documentation in replab.Domain.assertEqv()
Documentation in replab.Domain.assertNotEqv()
Documentation in replab.Obj.cache()
Documentation in replab.Obj.cached()
Documentation in replab.Obj.cachedOrDefault()
Documentation in replab.Obj.cachedOrEmpty()
Documentation in replab.Obj.check()
Documentation in replab.Obj.checkAndContinue()
Documentation in replab.Equivariant.decomposition()
Documentation in replab.Str.disp()
Documentation in replab.Obj.eq()
Documentation in replab.Domain.eqv()
Documentation in replab.Equivariant.field
Documentation in replab.Equivariant.group
Documentation in replab.Str.headerStr()
Documentation in replab.Str.hiddenFields()
Documentation in replab.Obj.id()
Documentation in replab.Obj.inCache()
Documentation in replab.Equivariant.isExact()
Documentation in replab.Obj.isequal()
Documentation in replab.Obj.laws()
Documentation in replab.Str.longStr()
Documentation in replab.Equivariant.nC
Documentation in replab.Equivariant.nR
Documentation in replab.Obj.ne()
Documentation in replab.SubEquivariant.parent
Documentation in replab.Equivariant.project()
Documentation in replab.SubEquivariant.projectFromParent()
Documentation in replab.Equivariant.repC
Documentation in replab.Equivariant.repR
Documentation in replab.Equivariant.sample()
Documentation in replab.Str.shortStr()
Documentation in replab.Equivariant.special
Documentation in replab.Equivariant.subEquivariant()
Representation space basis
double(*,*,*) or cyclotomic
(*,*,*)
Division algebra
‘’, ‘C->R’, ‘H->R:equivariant’
Returns the division algebra basis
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
The division algebra basis
double(*,*) or cyclotomic
(*,*)
Returns the representation space basis
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
The representation space basis
double(*,*,*) or cyclotomic
(*,*,*)
Returns the dimension of the matrix block encoding the division algebra
As a special case, if the block is zero, the returned value is one.
Dimension of the matrix block
integer
Returns the dimension of the division algebra encoded in this block
As a special case, if the block is zero, the returned value is zero.
Dimension of the division algebra
integer
Returns whether this equivariant space contains only the zero matrix
This happens when the isotypic components repR
and repC
correspond to inequivalent irreducible representations
Example
>>> S3 = replab.S(3);
>>> rep = S3.naturalRep;
>>> triv = rep.decomposition.component(1);
>>> std = rep.decomposition.component(2);
>>> E = triv.isotypicEquivariantFrom(std);
>>> E.isZero
1
True if the equivariant space is trivial
logical
Factors a Kronecker product, second step
Assuming that X is approximately X = kron(X1, X2)
, with X2
known,
this estimates the first factor X1
and returns it.
X (double(*,*)
) – Matrix to factor
X2 (double(*,*)
) – Second factor
An estimation of the first factor in the Kronecker product
double(*,*)
Factors a Kronecker product, first step
Assuming that X is approximately X = kron(X1, X2)
, with X2
a matrix of size nRows2
x nCols2
,
this estimates the factor X2
and returns it.
X (double(*,*)
) – Matrix to factor
nRows2 (integer
) – Number of rows of the second factor
nCols2 (integer
) – Number of columns of the second factor
An estimation of the second factor in the Kronecker product
double(*,*)
Returns the space of equivariant linear maps between two isotypic components
The equivariant vector space contains the matrices X such that
repC.image(g) * X = X * repR.image(g)
repR (replab.Isotypic
) – Isotypic component on the target/row space
repC (replab.Isotypic
) – Isotypic component on the source/column space
special – Special structure, see help on Equivariant
type – Whether to obtain an exact equivariant space (‘double’ and ‘double/sparse’ are equivalent)
parent – Equivariant space from repC.parent
to repR.parent
parentSample – A generic sample from the parent space
charstring
‘exact’, ‘double’ or ‘double/sparse’
Equivariant
, optional
double(*,*), optional
The equivariant vector space
Returns a parameterization of the multiplicity space using YALMIP variables
Parameterization
sdpvar(*,*,*)
Projects the given matrix in the commutant algebra and factors it
It returns the decomposition of the projection.
X (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix in the isotypic component space to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
M (double(*,*,*) or cyclotomic
(*,*,*)) – The part containing the degrees of freedom of the commutant algebra
err (double) – Estimation of the numerical error, expressed as the distance of the returned projection to the invariant subspace in Frobenius norm
Projects the given matrix in the parent representation space into the commutant algebra and factors it
It returns the decomposition of the projection.
parentX (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix in the parent representation space to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
M (double(*,*,*) or cyclotomic
(*,*,*)) – The part containing the degrees of freedom of the commutant algebra
err (double) – Estimation of the numerical error, expressed as the distance of the returned projection to the invariant subspace in Frobenius norm
Reconstructs an equivariant space element returned by a factorization method
M (double(*,*,*) or cyclotomic(*,*,*)
) – Factorized element
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
Equivariant matrix
double(*,*) or cyclotomic(*,*)
Bases: replab.SubEquivariant
Equivariant space between two harmonized irreducible decompositions
Matrices in this equivariant space are composed of blocks with the following form:
\(X_{ij} = \sum_k M_{ijk} \otimes R_{ijk} \otimes A_{ijk\)} (or, most often, \(X_{ij}\) is identically zero)
where
\(M_{ijk}\) represents the multiplicity space,
\(R_{ijk}\) is a constant matrix representing the representation space,
\(A_{ijk}\) is a constant matrix encoding the division algebra.
Class members list
Properties
blocks
– Isotypic equivariant spaces
field
– Field of the vector space real (R) or complex x(C)
group
– Group being represented
nC
– Column size
nR
– Row size
nonZeroBlock
– True when the corresponding block can be nonzero
parent
– Parent equivariant space
repC
– Representation of column space
repR
– Representation of row space
special
– Whether the equivariant space has special structure, see comment in replab.Equivariant
Prettyprinting
additionalFields
– Returns the name/value pairs corresponding to additional fields to be printed
disp
– Standard MATLAB/Octave display method
headerStr
– Tiny single line description of the current object type
hiddenFields
– Returns the names of the fields that are not printed as a row vector
longStr
– Multi-line description of the current object
shortStr
– Single line text description of the current object
Property cache
cache
– Sets the value of the designated property in the cache
cached
– Returns the cached property if it exists, computing it if necessary
cachedOrDefault
– Returns the cached property if it exists, or the provided default value if it is unknown yet
cachedOrEmpty
– Returns the cached property if it exists, or []
if it is unknown yet
inCache
– Returns whether the value of the given property has already been computed
Laws
check
– Checks the consistency of this object
checkAndContinue
– Checks the consistency of this object
laws
– Returns the laws that this object obeys
Unique ID
eq
– Equality test
id
– Returns the unique ID of this object (deprecated)
isequal
– Equality test
ne
– Non-equality test
Test helpers
assertEqv
– Compares two elements for equality
assertNotEqv
– Compares two elements for inequality
Sampling and equality test
eqv
– Tests domain elements for equality/equivalence
sample
– Returns an approximate sample from this equivariant space along with estimated numerical error
General
make
– Returns the space of equivariant linear maps between two harmonized irreducible decompositions
Subspaces
decomposition
– Returns the decomposition of this equivariant space
subEquivariant
– Constructs a invariant subspace of an equivariant space
Properties
colBlockSize
– Column sizes of blocks
isExact
– Returns whether this equivariant space can compute exact projection
rowBlockSize
– Row sizes of blocks
Projection
project
– Projects any nR x nC
matrix in the equivariant subspace
projectAndFactor
– Projects the given matrix in the commutant algebra and factors it
Projection from parent space
projectAndFactorFromParent
– Projects the given matrix in the parent representation space into the commutant algebra and factors it
projectFromParent
– Projects the given matrix, written in the parent representation space, into the equivariant space of the subrepresentation
YALMIP helpers
makeSdpvarBlocks
– Returns a parameterization of the equivariant subspace using YALMIP variables
Factorization
reconstruct
– Reconstructs an equivariant space element returned by a factorization method
Inherited elements
Documentation in replab.Str.additionalFields()
Documentation in replab.Domain.assertEqv()
Documentation in replab.Domain.assertNotEqv()
Documentation in replab.Obj.cache()
Documentation in replab.Obj.cached()
Documentation in replab.Obj.cachedOrDefault()
Documentation in replab.Obj.cachedOrEmpty()
Documentation in replab.Obj.check()
Documentation in replab.Obj.checkAndContinue()
Documentation in replab.Equivariant.decomposition()
Documentation in replab.Str.disp()
Documentation in replab.Obj.eq()
Documentation in replab.Domain.eqv()
Documentation in replab.Equivariant.field
Documentation in replab.Equivariant.group
Documentation in replab.Str.headerStr()
Documentation in replab.Str.hiddenFields()
Documentation in replab.Obj.id()
Documentation in replab.Obj.inCache()
Documentation in replab.Equivariant.isExact()
Documentation in replab.Obj.isequal()
Documentation in replab.Obj.laws()
Documentation in replab.Str.longStr()
No documentation
No documentation
Documentation in replab.Equivariant.nC
No documentation
Documentation in replab.Equivariant.nR
No documentation
Documentation in replab.Obj.ne()
Documentation in replab.SubEquivariant.parent
Documentation in replab.Equivariant.project()
Documentation in replab.SubEquivariant.projectFromParent()
Documentation in replab.Equivariant.repC
Documentation in replab.Equivariant.repR
Documentation in replab.Equivariant.sample()
Documentation in replab.Str.shortStr()
Documentation in replab.Equivariant.special
Documentation in replab.Equivariant.subEquivariant()
Isotypic equivariant spaces
cell(*,*) of IsotypicEquivariant
True when the corresponding block can be nonzero
logical(*,*)
Column sizes of blocks
Sizes
integer(1,*)
Returns the space of equivariant linear maps between two harmonized irreducible decompositions
The equivariant vector space contains the matrices X such that
repC.image(g) * X = X * repR.image(g)
repR (replab.Irreducible
) – Harmonized irreducible decomposition acting on the target/row space
repC (replab.Irreducible
) – Harmonized irreducible decompositoin acting on the source/column space
special – Special structure, see help on Equivariant
type – Whether to obtain an exact equivariant space (‘double’ and ‘double/sparse’ are equivalent)
parent – Equivariant space from repC.parent
to repR.parent
parentSample – A generic sample from the parent space
charstring
‘exact’, ‘double’ or ‘double/sparse’
Equivariant
, optional
double(*,*), optional
The equivariant vector space
Returns a parameterization of the equivariant subspace using YALMIP variables
Parameterization using blocks
cell(1,*) of sdpvar(*,*,*)
Projects the given matrix in the commutant algebra and factors it
It returns the decomposition of the projection.
X (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix in the isotypic component space to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
M (cell(*,*) of ([]
, or cell(1,*) of (double(*,*) or cyclotomic
(*,*)))) – The part containing the degrees of freedom of the commutant algebra
err (double) – Estimation of the numerical error, expressed as the distance of the returned projection to the invariant subspace in Frobenius norm
Projects the given matrix in the parent representation space into the commutant algebra and factors it
It returns the decomposition of the projection.
X (double(*,*) or cyclotomic
(*,*), may be sparse) – Matrix in the parent representation space to project
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
M (cell(*,*) of ([]
, or cell(1,*) of (double(*,*) or cyclotomic
(*,*)))) – The part containing the degrees of freedom of the commutant algebra
err (double) – Estimation of the numerical error, expressed as the distance of the returned projection to the invariant subspace in Frobenius norm
Reconstructs an equivariant space element returned by a factorization method
M (cell(*,*) of cell(1,*) of double(*,*) or cyclotomic(*,*)
) – Factorized element
type ('double', 'double/sparse' or 'exact', optional
) – Type of the returned value, default: ‘double’
Equivariant matrix
double(*,*) or cyclotomic(*,*)
Row sizes of blocks
Sizes
integer(1,*)