Компютърна алгебра
Embed Size (px)
DESCRIPTION
Компютърна алгебра. доц. Стефка Буюклиева. ал-габр. Абу Джафар Мохамед ибн Муса ал-Хорезми – IX век, Багдад Ал-габр : символни пресмятания и преобразования : Алгебра алгоритъм - PowerPoint PPT PresentationTRANSCRIPT

ВТУ, 2008
ал-габр
Абу Джафар Мохамед ибн Муса
ал-Хорезми – IX век, Багдад
Ал-габр: символни пресмятания и преобразования:
Алгебра Алгебра алгоритъм алгоритъм
Основна задача на алгебрата до XIX век: алгоритмични манипулации със символни алгебрични изрази, основно с цел решаването на алгебрични уравнения

ВТУ, 2008
Абстрактна алгебра
XX век: Формални изследвания на алгебрични структури, които следват от дадени аксиоми
Алгебрична структура – непразно множество със зададени алгебрични операции
Примери:• линейно пространство• поле (числово или не)• група• пръстен

ВТУ, 2008
Компютърна алгебра
• Връщане към алгоритмичните аспекти на алгебрата
• Връзка между алгоритмичната и абстрактната алгебра
• Алгебра + дискретна математика• Алгоритмични методи в
математическата логика• Приложения в математиката, физиката,
инженерните науки

ВТУ, 2008
Какво е компютърна алгебра?
Дисциплина, посветена на методи за решаване на математически формулирани задачи чрез символни алгоритми, както и софтуерната и хардуерна реализация на тези алгоритми.Тя се базира на точни крайни представяния на крайните и безкрайни математически обекти и структури, и прави символни и абстрактни манипулации с компютър.

ВТУ, 2008
Какво е компютърна алгебра?
Математиеските знания се използват при дизайна на съответните алгоритми, а също и при тяхната верификация и анализа на тяхната сложност. Затова компютърната алгебра може да бъде много ефективно средство за отговор на въпроси от различни области на компютърните науки, математиката, природните и инженерните науки, при условие, че може да се направи техен математически модел.

ВТУ, 2008
Какво е компютърна алгебра?
Компютърната алгебра дава възможност на компютрите да манипулират с математически изрази, зададени символно. Работи се с точно ( а не приближено) представяне на числата.

ВТУ, 2008
Числен анализ
В числения анализ реалните числа се апроксимират с числа с плаваща точка, т.к. Устройството на компютъра е ориентирано за работа с числа с не повече от 10 десетични цифри. Това води до неточни изчисления. Обикновено дължината на компютърната дума е 16, 32 или 64 бита, така че най-голямото цяло число, с което може да се побере в комп. дума, е 216-1, 232-1 или 264-1

ВТУ, 2008
Представяне на данните
Списък над произволно множество S наричаме крайна редица a=(a1,a2,…,an), n0, в която всеки елемент ai е или елемент на множеството S, или списък над S.
n=0 a=0 - празен списък
length(a)=n, first(a)=a1,last(a)=an,

ВТУ, 2008
Списъчно представяне на целите числа
1. Цели числа с кратна точност (дълги цели числа)2. Цели числа с единична точност (къси цели числа)Дълги цели числа:
i=(i0,i1,i2,…,in), n1, където
i = ( |in|n + in-1n-1 + + i1 + i0 ), 0ik<,тоест i0,i1,…,in са цифрите на числото i при
представянето му в бройна система с основа
= 2m, m – дължина на компютърната дума (обикновено m=16, 32, 64)

ВТУ, 2008
Списъчно представяне на целите числа
Пример: 1) =103, i=+23456789
i
2) =28, i = +23456789 = 1 01100101 11101100 000101012
i
I = 1.2563 + 101.2562 + 236.256 + 21
789 +23456
00010101 +10110010111101100

ВТУ, 2008
Алгоритми и тяхната сложност
• Алгоритъм – метод за решаване на даден клас задачи
• Сложност – ресурсите, които алгоритъмът използва за решаването на задача от този клас
• Измерване на сложността – време за изчисленията или използвана памет
• Времева сложност – времето за изчисления се изразява като функция на количеството на данните (измерени по определен начин) на входа на алгоритъма

ВТУ, 2008
Алгоритми и тяхната сложност
-дължина на цялото число i ще наричаме броя на цифрите му в бройна система с основа - L (i)
L1000 (23456789)=3
L10 (23456789)=8
L256 (23456789)=4
L2 (23456789)=25

ВТУ, 2008
Алгоритми и тяхната сложност
Нека A е алгоритъм, а S – множество от допустини стойности за входа на А. Цялото число tA(n), nS, дава броя на базисните операции, използвани от А при стойност на входа n и се нарича функция на времето за изчисление, асоциирано с А и определено от S. Към базисните операции се отнасят събирането и умножението на числа с единична точност, присвоявания, безусловен преход и извикване на подпрограми.

ВТУ, 2008
Алгоритми и тяхната сложност
Нека f и g са реални функции, определени върху множеството S. Ще казваме, че f се доминира от g, или f=O(g), ако съществува положително реално число и елемент x0S такива, че |f(x)|c|g(x)| за всяко xS, x>x0

ВТУ, 2008
Алгоритми и тяхната сложност
Теорема: f(x)= anxn + an-1xn-1 + + a1x + a0
f(x)=O(xn)
Доказателство: Нека x1. Тогава
|f(x)| |an|xn + |an-1|xn-1 + + |a1|x + |a0|
(|an| + |an-1|(1/x) + + |a1|(1/xn-1) + |a0|(1/xn)) xn
(|an| + |an-1| + + |a1| + |a0|) xn = c xn
c

ВТУ, 2008
Алгоритми и тяхната сложност
• Ако tA(n)=O(nk), то А се нарича алгоритъм с полиномна (времева) сложност (полиномен алгоритъм)
• Алгоритъм с експоненциална сложност (експоненциален алгоритъм) - tA(n)=O(2n)
O(log n)< O(n) < O(n log n)< O(n2)< O(2n)

ВТУ, 2008
Класически алгоритми от аритметиката
Нека a и b са цели числа
• ISUM – алгоритъм, пресмятащ сумата a+b
tISUM(a,b)=O{max(L(a),L(b))}
• IMULT – алгоритъм, пресмятащ произведението ab
tIMULT(a,b)=O(L(a)L(b))

ВТУ, 2008
Системи за компютърна алгебра
• Системи с общо предназначение: AXIOM, Magma, Mathematica, Maple,
• Системи със специално предназначение:

ВТУ, 2008

ВТУ, 2008
Mathematica
Създадена от Stephen Wolfram и по-нататък разработена от колектив от математици и програмисти. Продава се от Wolfram Research
www.wolfram.com

ВТУ, 2008
www.maplesoft.com

ВТУ, 2008

ВТУ, 2008
MathCad

ВТУ, 2008
MuPAD
• Open Computer Algebra System до 2005
• University of Paderborn, Germany
• http://www.mupad.de

ВТУ, 2008