OpenMath Content Dictionary: linalg6
Canonical URL:
http://www.openmath.org/cd/linalg6.ocd
CD Base:
http://www.openmath.org/cd
CD File:
linalg6.ocd
CD as XML Encoded OpenMath:
linalg6.omcd
Defines:
matrix_tensor , vector_tensor
Date:
1999-07-15
Version:
2
Review Date:
2003-04-01
Status:
experimental
This CD contains symbols for the construction of some new vectors and matrices from old
ones by means of the tensor product.
Description:
This symbol denotes a n-nary function which is used to construct
the tensor product matrix of its arguments, which must be matrices.
Commented Mathematical property (CMP):
If
A is an
m x r matrix
B is an
n x s matrix, then
their Kronecker product is the
m n x rs matrix
whose
i + (k-1) m, j + (l-1) n
entry is
A_{i,j} B_{k,l},
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="logic1" name="implies"/>
<OMA><OMS cd="logic1" name="and"/>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="linalg3" name="rowcount"/>
<OMV name="A"/>
</OMA>
<OMV name="m"/>
</OMA>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="linalg3" name="columncount"/>
<OMV name="A"/>
</OMA>
<OMV name="n"/>
</OMA>
</OMA>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="linalg1" name="matrix_selector"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="i"/>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="k"/><OMI>1</OMI>
</OMA>
<OMV name="m"/>
</OMA>
</OMA>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="j"/>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="l"/><OMI>1</OMI>
</OMA>
<OMV name="n"/>
</OMA>
</OMA>
<OMA><OMS cd="linalg6" name="matrix_tensor"/>
<OMV name="A"/> <OMV name="B"/>
</OMA>
</OMA>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="linalg1" name="matrix_selector"/>
<OMV name="i"/><OMV name="j"/>
<OMV name="A"/>
</OMA>
<OMA><OMS cd="linalg1" name="matrix_selector"/>
<OMV name="k"/><OMV name="l"/>
<OMV name="B"/>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="logic1">and</csymbol>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="linalg3">rowcount</csymbol><ci>A</ci></apply>
<ci>m</ci>
</apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="linalg3">columncount</csymbol><ci>A</ci></apply>
<ci>n</ci>
</apply>
</apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="linalg1">matrix_selector</csymbol>
<apply><csymbol cd="arith1">plus</csymbol>
<ci>i</ci>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="arith1">minus</csymbol><ci>k</ci><cn type="integer">1</cn></apply>
<ci>m</ci>
</apply>
</apply>
<apply><csymbol cd="arith1">plus</csymbol>
<ci>j</ci>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="arith1">minus</csymbol><ci>l</ci><cn type="integer">1</cn></apply>
<ci>n</ci>
</apply>
</apply>
<apply><csymbol cd="linalg6">matrix_tensor</csymbol><ci>A</ci><ci>B</ci></apply>
</apply>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="linalg1">matrix_selector</csymbol><ci>i</ci><ci>j</ci><ci>A</ci></apply>
<apply><csymbol cd="linalg1">matrix_selector</csymbol><ci>k</ci><ci>l</ci><ci>B</ci></apply>
</apply>
</apply>
</apply>
</math>
Prefix
implies
(
and
(
eq
(
rowcount
(
A )
,
m )
,
eq
(
columncount
(
A )
,
n )
)
,
eq
(
matrix_selector
(
plus
(
i ,
times
(
minus
(
k , 1)
,
m )
)
,
plus
(
j ,
times
(
minus
(
l , 1)
,
n )
)
,
matrix_tensor
(
A ,
B )
)
,
times
(
matrix_selector
(
i ,
j ,
A )
,
matrix_selector
(
k ,
l ,
B )
)
)
)
Popcorn
linalg3.rowcount($A) = $m and linalg3.columncount($A) = $n ==> linalg1.matrix_selector($i + ($k - 1) * $m, $j + ($l - 1) * $n, linalg6.matrix_tensor($A, $B)) = linalg1.matrix_selector($i, $j, $A) * linalg1.matrix_selector($k, $l, $B)
Rendered Presentation MathML
rowcount
(
A
)
=
m
∧
columncount
(
A
)
=
n
⇒
matrix_tensor
(
A
,
B
)
i
+
(
k
-
1
)
m
j
+
(
l
-
1
)
n
=
A
i
j
B
k
l
Signatures:
sts
Description:
This symbol denotes a n-nary function which is used to construct
the tensor product vector of its arguments, which must be vectors.
Signatures:
sts