What does operator "dot" (.) mean?

matlab, operators, syntax

Solution

The dot itself is not an operator, `.^` is.

The `.^` is a pointwise¹ (i.e. element-wise) power, as `.*` is the pointwise product.

`.^` Array power. `A.^B` is the matrix with elements `A(i,j)` to the `B(i,j)` power. The sizes of `A` and `B` must be the same or be compatible.

C.f.

- "Array vs. Matrix Operations": https://mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html

- "Pointwise": http://en.wikipedia.org/wiki/Pointwise

- "Element-Wise Operations": http://www.glue.umd.edu/afs/glue.umd.edu/system/info/olh/Numerical/Matlab_Matrix_Manipulation_Software/Matrix_Vector_Operations/elementwise

¹) Hence the dot.

Problem

Given the code : ``` A = [1 2 3; 3 2 1] B = A.^2 ``` The output : ``` B = 1 4 9 9 4 1 ``` But if I do this : `B = A^2` The output is : ``` Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead. ``` What does the operator `.` do exactly ?

Original source