Skip to main content

MatrixDot

MatrixDot (waveA, waveB)

The MatrixDot function calculates the inner (scalar) product for two 1D waves. A 1D wave A represents a vector in the sense:

A=αie^i,e^i is a unit vector .\displaystyle \mathbf{A}=\sum \alpha_{i} \hat{e}_{i}, \quad \hat{e}_{i} \text { is a unit vector } .

Given two such waves A and B, the inner product is defined as:

ip=αiβi.\displaystyle i p=\sum \alpha_{i} \beta_{i} .

When both waveA and waveB are complex and the result is assigned to a complex-valued number, MatrixDot returns

ipc=αiβi.\displaystyle i p c=\sum \alpha_{i}^{*} \beta_{i} .

If you prefer the definition where the second factor is the one that is conjugated, you can simply reverse the order of waveA and waveB in the function call.

If the result is assigned to a real number, MatrixDot returns

ip=αiβi.\displaystyle i p=\left|\sum \alpha_{i}^{*} \beta_{i}\right| .

If either waveA or waveB is complex and the result is assigned to a real-valued number, MatrixDot returns

ip=αiβi.\displaystyle i p=\left|\sum \alpha_{i} \beta_{i}\right| .

When the result is assigned to a complex-valued number MatrixDot returns

ipc=αiβi.\displaystyle i p c=\sum \alpha_{i} \beta_{i} .

See Also

The MatrixOp operation for more efficient matrix operations.

Matrix Math Operations for more about Igor's matrix routines.