1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE book PUBLIC
"-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id=
"outerProduct">
9 <holder>Khronos Group
</holder>
12 <refentrytitle>outerProduct
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>outerProduct
</refname>
17 <refpurpose>calculate the outer product of a pair of vectors
</refpurpose>
19 <refsynopsisdiv><title>Declaration
</title>
22 <funcdef>mat2
<function>outerProduct
</function></funcdef>
23 <paramdef>vec2
<parameter>c
</parameter></paramdef>
24 <paramdef>vec2
<parameter>r
</parameter></paramdef>
27 <funcdef>mat3
<function>outerProduct
</function></funcdef>
28 <paramdef>vec3
<parameter>c
</parameter></paramdef>
29 <paramdef>vec3
<parameter>r
</parameter></paramdef>
32 <funcdef>mat4
<function>outerProduct
</function></funcdef>
33 <paramdef>vec4
<parameter>c
</parameter></paramdef>
34 <paramdef>vec4
<parameter>r
</parameter></paramdef>
37 <funcdef>mat2x3
<function>outerProduct
</function></funcdef>
38 <paramdef>vec3
<parameter>c
</parameter></paramdef>
39 <paramdef>vec2
<parameter>r
</parameter></paramdef>
42 <funcdef>mat3x2
<function>outerProduct
</function></funcdef>
43 <paramdef>vec2
<parameter>c
</parameter></paramdef>
44 <paramdef>vec3
<parameter>r
</parameter></paramdef>
47 <funcdef>mat2x4
<function>outerProduct
</function></funcdef>
48 <paramdef>vec4
<parameter>c
</parameter></paramdef>
49 <paramdef>vec2
<parameter>r
</parameter></paramdef>
52 <funcdef>mat4x2
<function>outerProduct
</function></funcdef>
53 <paramdef>vec2
<parameter>c
</parameter></paramdef>
54 <paramdef>vec4
<parameter>r
</parameter></paramdef>
57 <funcdef>mat3x4
<function>outerProduct
</function></funcdef>
58 <paramdef>vec4
<parameter>c
</parameter></paramdef>
59 <paramdef>vec3
<parameter>r
</parameter></paramdef>
62 <funcdef>mat4x3
<function>outerProduct
</function></funcdef>
63 <paramdef>vec3
<parameter>c
</parameter></paramdef>
64 <paramdef>vec4
<parameter>r
</parameter></paramdef>
67 <funcdef>dmat2
<function>outerProduct
</function></funcdef>
68 <paramdef>dvec2
<parameter>c
</parameter></paramdef>
69 <paramdef>dvec2
<parameter>r
</parameter></paramdef>
72 <funcdef>dmat3
<function>outerProduct
</function></funcdef>
73 <paramdef>dvec3
<parameter>c
</parameter></paramdef>
74 <paramdef>dvec3
<parameter>r
</parameter></paramdef>
77 <funcdef>dmat4
<function>outerProduct
</function></funcdef>
78 <paramdef>dvec4
<parameter>c
</parameter></paramdef>
79 <paramdef>dvec4
<parameter>r
</parameter></paramdef>
82 <funcdef>dmat2x3
<function>outerProduct
</function></funcdef>
83 <paramdef>dvec3
<parameter>c
</parameter></paramdef>
84 <paramdef>dvec2
<parameter>r
</parameter></paramdef>
87 <funcdef>dmat3x2
<function>outerProduct
</function></funcdef>
88 <paramdef>dvec2
<parameter>c
</parameter></paramdef>
89 <paramdef>dvec3
<parameter>r
</parameter></paramdef>
92 <funcdef>dmat2x4
<function>outerProduct
</function></funcdef>
93 <paramdef>dvec4
<parameter>c
</parameter></paramdef>
94 <paramdef>dvec2
<parameter>r
</parameter></paramdef>
97 <funcdef>dmat4x2
<function>outerProduct
</function></funcdef>
98 <paramdef>dvec2
<parameter>c
</parameter></paramdef>
99 <paramdef>dvec4
<parameter>r
</parameter></paramdef>
102 <funcdef>dmat3x4
<function>outerProduct
</function></funcdef>
103 <paramdef>dvec4
<parameter>c
</parameter></paramdef>
104 <paramdef>dvec3
<parameter>r
</parameter></paramdef>
107 <funcdef>dmat4x3
<function>outerProduct
</function></funcdef>
108 <paramdef>dvec3
<parameter>c
</parameter></paramdef>
109 <paramdef>dvec4
<parameter>r
</parameter></paramdef>
113 <refsect1 id=
"parameters"><title>Parameters
</title>
116 <term><parameter>c
</parameter></term>
119 Specifies the parameter to be treated as a column vector.
124 <term><parameter>r
</parameter></term>
127 Specifies the parameter to be treated as a row vector.
133 <refsect1 id=
"description"><title>Description
</title>
135 <function>outerProduct
</function> treats the first parameter
<parameter>c
</parameter> as a column
136 vector (matrix with one column) and the second parameter
<parameter>r
</parameter> as a row vector
137 (matrix with one row) and does a linear algebraic matrix multiply
<parameter>c
</parameter> *
<parameter>r
</parameter>,
138 yielding a matrix whose number of rows is the number of components in
<parameter>c
</parameter> and
139 whose number of columns is the number of components in
<parameter>r
</parameter>.
142 <refsect1 id=
"versions"><title>Version Support
</title>
143 <informaltable frame=
"topbot">
148 <entry>outerProduct (float)
</entry>#newin12#
151 <entry>outerProduct (double)
</entry>#newin40#
157 <refsect1 id=
"seealso"><title>See Also
</title>
159 <citerefentry><refentrytitle>dot
</refentrytitle></citerefentry>
162 <refsect1 id=
"Copyright"><title>Copyright
</title>
164 Copyright
<trademark class=
"copyright"></trademark> 2011 Khronos Group.
165 This material may be distributed subject to the terms and conditions set forth in
166 the Open Publication License, v
1.0,
8 June
1999.
167 <ulink url=
"http://opencontent.org/openpub/">http://opencontent.org/openpub/
</ulink>.