(^,.^) power operation
t=A^b t=A**b t=A.^b
scalar, polynomial or rational matrix.
a scalar, a vector or a scalar matrix.
If A is a square matrix and b is a scalar then A^b is the matrix A to the power b.
If b is a scalar and A a matrix then
A.^b is the matrix formed by the element of
A to the power b (element-wise power). If
A is a vector and b is a scalar then
A^b and A.^b performs the same operation
(i.e. element-wise power).
If A is a scalar and b is a square matrix A^b is the matrix expm(log(A) * b).
If A is a scalar and b is a vector A^b and A.^b are the vector formed by a^(b(i,j)).
If A is a scalar and b is a matrix A.^b is the matrix formed by a^(b(i,j)).
If A and b are vectors (matrices) of the same size A.^b is the A(i)^b(i) vector (A(i,j)^b(i,j) matrix).
![]() | Notes: |
1. For square matrices A^p is computed through successive matrices
multiplications if p is a positive integer, and by diagonalization if not (see "note 2 and 3" below for details).
2. If A is a square and Hermitian matrix and p is a non-integer scalar,
A^p is computed as:
A^p = u*diag(diag(s).^p)*u' (For real matrix A, only the real part of the answer is taken into account).
u and s are determined by [u,s] = schur(A) .
3. If A is not a Hermitian matrix and p is a non-integer scalar,
A^p is computed as:
A^p = v*diag(diag(d).^p)*inv(v) (For real matrix A, only the real part of the answer is taken into account).
d and v are determined by [d,v] = bdiag(A+0*%i) .
4. If A and p are real or complex numbers,
A^p is the principal value determined by:
A^p = exp(p*log(A)) (or A^p = exp(p*(log(abs(A))+ %i*atan(imag(A)/real(A)))) ).
5. If A is a square matrix and p is a real or complex number,
A.^p is the principal value computed as:
A.^p = exp(p*log(A)) (same as case 4 above).
6. ** and ^ operators are synonyms.
![]() | Exponentiation is right-associative in Scilab contrarily to MatlabĀ® and Octave.
For example 2^3^4 is equal to 2^(3^4) in Scilab but is equal to (2^3)^4 in MatlabĀ®
and Octave. |