Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Mikhail Kalenkov                     2:5020/400     23 Aug 2002  19:28:20
 To : Sergey Gridasov
 Subject : Re: Mathematic Library
 -------------------------------------------------------------------------------- 
 
 Hello Sergey
 
 > У math.h вечная пpоблема коpни (такого типа: коpень (-1/7) степени из
 
 (-5/9)).
 Да нет у неё таких проблем! Говорю подробно и один раз. Пусть нам нужно
 вычислить выражение res=a^b, где a и b, вообще говоря, комплексные числа.
 Тогда ответ выглядит так
 res=exp(b*Ln(a)) ,
 где Ln - МHОГОЗHАЧHАЯ комплекснозначная функция комплексного аргумента,
 которая определяется следующим образом
 Ln(x+i*y)=ln(sqrt(x*x+y*y))+arctg(y/x)+2*pi*n*i
 Здесь
 x,y - действительные числа
 i - мнимая единица
 pi - число pi (для гренландского кита равна трём)
 n - ЛЮБОЕ целое число
 ln - функция "натуральный логарифм", которую проходят в школе
 Вот такую мутотень можно прочитать в книгах по теории функции комплексного
 переменного (ТФКП).
 Рассмотрим частные случаи
 Пример 1.
 a - действительное число , b - целое число
 в этом случае res=a^b=exp(ln(a)*b). Вся комплексность и многозначность из
 ответа улетучилась в силу тождества exp(2*pi*i*n)=1.
 Во ВСЕХ остальных случаях ты будешь получать неоднозначны или/и комплексный
 ответ
 Пример 2.
 Hадоело мне что-то, но если тебе интересно продолжение, то я продолжу.
 
 Расскажи, пожалуйста, ну зачем тебе вычислять такие степени? Мне
 действительно очень интересно.
 
 > В связи с этим появилась необходимость её реализации. Hyжна ваша помощь.
 > Также хотелось бы найти алгоpитмы вычисления ARC HYP SIN [COS TAN
 
 CTAN]...
 ARC HYP SIN - это обратная функция к гиперболическому синусу? Если да, то
 он выражается с помощью логарифмов и корня. Посмотри в любом справочнике.
 
 > Или есть готовые библиотеки для С++ (кpоме math.h конечно) pеализyющие
 >     * Что-нибyдь полyчше POW() и EXP() из MATH.H
 
 Чем они тебя не устраивают? Очень хорошие функции. Кстати, для возведения в
 степень всяких дробных, отрицательных чисел попробуй такую C++ конструкцию
 
 double a,b;
 a=-0.43;
 b=-8.43;
 std::complex<double> res;
 res=std::exp(b*std::log(std::complex<double>(a)));
 std::cout << res << std::endl;
 Только нужно быть очень осторожным, так как такое вычисление даёт только
 одно из значений степени.
 
 >     * Улyчшенная тpигонометpия, по типy ARC HYP SIN()...
 
 Элементарно выражается через логарифмы и квадратные корни.
 
 >     * Точность вычислений повыше
 
 Сколько знаков нужно и зачем?
 
 >     * ...
 > И кто что может сказать о BLAS, Linpack ? Что это и с чем едят ?
 
 Тут я пас.
 
         Михаил Каленков.
 --- ifmail v.2.15dev5
  * Origin: Cronyx Plus ISP (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Mathematic Library   Sergey Gridasov   20 Aug 2002 23:29:06 
 Re: Mathematic Library   Mikhail Kalenkov   23 Aug 2002 19:28:20 
Архивное /ru.algorithms/780856200f5e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional