Download esys-Escript User's Guide: Solving Partial Differential Equations with

Transcript
inner(a0, a1)
returns the inner product of a0 and a1. For instance in the case of a rank-2 Data object:
X
inner(a) =
a0 [j, i] · a1 [j, i]
(3.17)
ij
and for a rank-4 Data object:
inner(a) =
X
a0 [i, j, k, l] · a1 [j, i, k, l]
(3.18)
ijkl
matrix mult(a0, a1)
returns the matrix product of a0 and a1. If a1 is a rank-1 Data object this is
X
matrix_mult(a) [i] =
a0 · [i, k] a1 [k]
(3.19)
k
and if a1 is a rank-2 Data object this is
matrix_mult(a) [i, j] =
X
a0 · [i, k] a1 [k, j]
(3.20)
k
transposed matrix mult(a0, a1)
returns the matrix product of the transposed of a0 and a1. The function is equivalent to
matrix_mult(transpose(a0),a1). If a1 is a rank-1 Data object this is
X
transposed_matrix_mult(a) [i] =
a0 · [k, i] a1 [k]
(3.21)
k
and if a1 is a rank-2 Data object this is
X
a0 · [k, i] a1 [k, j]
(3.22)
matrix transposed mult(a0, a1)
returns the matrix product of a0 and the transposed of a1. The function is equivalent to
matrix_mult(a0,transpose(a1)). If a1 is a rank-2 Data object this is
X
matrix_transposed_mult(a) [i, j] =
a0 · [i, k] a1 [j, k]
(3.23)
transposed_matrix_mult(a) [i, j] =
k
k
outer(a0, a1)
returns the outer product of a0 and a1. For instance, if both, a0 and a1 is a rank-1 Data object then
outer(a) [i, j] = a0 [i] · a1 [j]
(3.24)
and if a0 is a rank-1 Data object and a1 is a rank-3 Data object:
outer(a) [i, j, k] = a0 [i] · a1 [j, k]
tensor mult(a0, a1)
returns the tensor product of a0 and a1. If a1 is a rank-2 Data object this is
X
tensor_mult(a) [i, j] =
a0 [i, j, k, l] · a1 [k, l]
(3.25)
(3.26)
kl
Chapter 3. The esys.escript Module
59