Текст подпрограммы и версий ( Фортран )
zp17r.zip  zp17d.zip 
Тексты тестовых примеров ( Фортран )
tzp17r.zip  tzp17d.zip 
Текст подпрограммы и версий ( Си )
zp17r_c.zip  zp17d_c.zip 
Тексты тестовых примеров ( Си )
tzp17r_c.zip  tzp17d_c.zip 
Текст подпрограммы и версий ( Паскаль )
zp17r_p.zip  zp17e_p.zip 
Тексты тестовых примеров ( Паскаль )
tzp17r_p.zip  tzp17e_p.zip 

Подпрограмма:  ZP17R

Назначение

Вычисление корней уравнения четвертой степени с вещественными коэффициентами.

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

Подпрограмма ZР17R вычисляет корни уравнения четвертой степени

       A(1)*X4 + A(2)*X3 + A(3)*X2 + A(4)*X + A(5)  =  0.0  , 

в котором коэффициенты  А ( I ),  I = 1, 2, 3, 4, 5 являются вещественными.

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

    SUBROUTINE  ZP17R (A, NREAL, ROOT, IERR) 

Параметры

A - вещественный вектор длины 5, содержащий коэффициенты исходного уравнения;
NREAL - целая переменная, значение которой в результате работы подпрограммы полагается равным числу вещественных корней уравнения;
ROOT - вещественный вектор длины 4, содержащий вычисленные корни;
IERR - целая переменная, значение которой в результате работы подпрограммы полагается равным 65, если коэффициент  А (1) при старшей степени равен 0.

Версии

ZP17D - вычисление корней уравнения четвертой степени с вещественными коэффициентами с повышенной точностью. При этом векторы А и RООТ должны иметь тип DОUВLЕ РRЕСISIОN.

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

ZP16R - вычисление корней уравнения третьей степени с вещественными коэффициентами. Используется в подпрограмме ZР17R.
UTZP10 - подпрограмма выдачи диагностических сообщений при работе подпрограммы ZР17R.
ZP16D - вычисление корней уравнения третьей степени с вещественными коэффициентами с повышенной точностью. Используется в подпрограмме ZР17D.
UTZP11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы ZР17D.

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

 

Если NRЕАL = 0, то вычисленные корни имеют вид RООТ (1) ± RООТ (2) i и RООТ (3) ± RООТ (4) i, при этом RООТ (2) > 0. и RООТ (4) > 0.

Если NRЕАL = 2, то RООТ (1) ≤ RООТ (2), а вторая пара корней имеет вид RООТ (3) ± RООТ (4) i, при этом RООТ (4) > 0.

Если NRЕАL = 4, то RООТ (1) ≤ RООТ (2) ≤ RООТ (3) ≤ RООТ (4).

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

       DIMENSION  A(5), ROOT(4)
       DATA  A(1), A(2), A(3), A(4), A(5) /1., - 10., 35., - 50., 24./
       CALL  ZP17R (A, NREAL, ROOT, IERR)

Результаты: 

       RООТ(1) = 1. ,  RООТ(2) = 2. ,  RООТ(3) = 3. ,  ROOT(4) = 4. ,
       NREAL   = 4 ,    IERR = 0