операция возведения в степень (^, .^)
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. |