операция возведения в степень (^, .^)
t = A ^ b t = A ** b t = A .^ b
Если операндом являются кодированные целые числа, то другие числа могут быть только кодированными целыми числами или вещественными числами.
Если A
является полиномами или дробно-рациональными
выражениями, то b
может быть только одиночным десятичным
(положительным или отрицательным) числом.
Если A
или b
скаляр,
то он сначала реплицируется до размера другого с помощью
A*ones(b)
или b*ones(A)
.
В противном случае A
и b
должны быть одинакового размера.
Затем для каждого элемента с индексом i
вычисляется t(i) = A(i)^b(i)
.
В случае A
либо b
должен быть скаляром, а другой должен быть квадратной матрицей:
если A
скаляр, а b
квадратная матрица, то A^b
является
матрицей expm(log(A) * b)
;
если A
квадратная матрица, а b
скаляр, то A^b
является матрицей
A
в степени b
.
Для квадратных матриц A
, A^p
вычисляется через последовательное перемножение матриц, если
p
является положительным числом, а иначе -
через диагонализацию (см. примечания №2 и №3 ниже).
Если A
квадратная и эрмитова матрица, а
p
нецелый скаляр, то A^p
вычисляется как:
A^p = u*diag(diag(s).^p)*u'
(для вещественной
матрицы A
во внимание принимается только
вещественная часть ответа).
u
и s
определяются как
[u,s] = schur(A)
.
Если A
не является эрмитовой матрицей,
а p
является нецелым скаляром, то
A^p
вычисляется как:
A^p = v*diag(diag(d).^p)*inv(v)
(для вещественной
матрицы A
во внимание принимается только
вещественная часть ответа).
d
и v
определяются
как [d,v] = bdiag(A+0*%i)
.
Если A
и p
вещественные
или комплексные числа, то A^p
является
главным значением, определяемым как
(или A^p = exp(p*(log(abs(A))+ %i*atan(imag(A)/real(A))))
).
Если A
является квадратной матрице, а
p
вещественным или комплексным числом, то
A.^p
является главным значением
вычисленным как:
операторы **
и ^
являются
синонимами.
![]() | Возведение в степень в Scilab является оператором с ассоциативностью
справа, в отличие от Matlab® и Octave.
Например 2^3^4 в Scilab равно 2^(3^4) ,
а в Matlab® и Octave равно (2^3)^4 . |
Version | Description |
6.0.0 | С десятичным или комплексным числами scalar ^ squareMat
теперь даёт expm(log(scalar)*squareMat) вместо
scalar .^ squareMat . |