Текст подпрограммы и версий
pa16c_p.zip  pa16z_p.zip 
Тексты тестовых примеров
tpa16c_p.zip  tpa16z_p.zip 

Подпрограмма:  PA16C (модуль PA16C_p)

Назначение

Возведение комплексного числа в комплексную степень.

Математическое описание

Подпрограмма PA16C выполняет возведение заданного комплексного числа a  +  i b в комплексную степень c  +  i d по формуле

          x  +  i y   =   ( a  +  i b )c + id   =   ecr - dp ( cos v  +  i sin v )  ,

   где  v  =  cθ + dr ,
         r   =  ln (a2 + b2)1/2 ,
         θ  =  arctg (b/a) 

Использование

procedure PA16C(A :Real; B :Real; C :Real; D :Real; var X :Real;
                var Y :Real);

Параметры

 A, B - вещественная и мнимая части заданного комплексного числа a + ib (тип: вещественный);
 C, D - вещественная и мнимая части заданной комплексной степени c + id, в которую необходимо возвести число a + ib (тип: вещественный);
 X, Y - вещественные переменные, значения которых на выходе полагаются равными вещественной и мнимой частям числа (a + ib) c + id .

Версии

PA16Z - возведение комплексного числа в комплексную степень в режиме расширенной (Extended) точности; при этом параметры A, B, C, D, X и Y должны иметь тип Extended.

Вызываемые подпрограммы

      PA02R -
      PA02E  
вычисление модуля комплексного числа в режимах одинарной и расширенной (Extended) точности; используются в подпрограммах PA16C и PA16Z соответственно.

Замечания по использованию: нет

Пример использования

Unit TPA16C_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, PA16C_p;

function TPA16C: String; 

implementation

function TPA16C: String;
var
A,B,C,D,X,Y :Real;
begin
RЕSult := '';
A := 2.0;
B := 1.0;
C := 1.0;
D := -1.0;
PA16C(A,B,C,D,X,Y);
Result := Result + Format('%20.16f',[X]) + #$0D#$0A;
Result := Result + Format('%20.16f',[Y]) + #$0D#$0A;
UtRes('TPA16C',Result);  { вывод результатов в файл TPA16C.res }
exit;
end;

end.

Результаты:
  
       X = 3.35026 
       Y = -1.18915