Компютърна алгебра

26
ВТУ, 2008 Компютърна алгебра доц. Стефка Буюклиева

Upload: perdy

Post on 08-Jan-2016

92 views

Category:

Documents


6 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Компютърна алгебра

ВТУ, 2008

Компютърна алгебра

доц. Стефка Буюклиева

Page 2: Компютърна алгебра

ВТУ, 2008

ал-габр

Абу Джафар Мохамед ибн Муса

ал-Хорезми – IX век, Багдад

Ал-габр: символни пресмятания и преобразования:

Алгебра Алгебра алгоритъм алгоритъм

Основна задача на алгебрата до XIX век: алгоритмични манипулации със символни алгебрични изрази, основно с цел решаването на алгебрични уравнения

Page 3: Компютърна алгебра

ВТУ, 2008

Абстрактна алгебра

XX век: Формални изследвания на алгебрични структури, които следват от дадени аксиоми

Алгебрична структура – непразно множество със зададени алгебрични операции

Примери:• линейно пространство• поле (числово или не)• група• пръстен

Page 4: Компютърна алгебра

ВТУ, 2008

Компютърна алгебра

• Връщане към алгоритмичните аспекти на алгебрата

• Връзка между алгоритмичната и абстрактната алгебра

• Алгебра + дискретна математика• Алгоритмични методи в

математическата логика• Приложения в математиката, физиката,

инженерните науки

Page 5: Компютърна алгебра

ВТУ, 2008

Какво е компютърна алгебра?

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

Page 6: Компютърна алгебра

ВТУ, 2008

Какво е компютърна алгебра?

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

Page 7: Компютърна алгебра

ВТУ, 2008

Какво е компютърна алгебра?

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

Page 8: Компютърна алгебра

ВТУ, 2008

Числен анализ

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

Page 9: Компютърна алгебра

ВТУ, 2008

Представяне на данните

Списък над произволно множество S наричаме крайна редица a=(a1,a2,…,an), n0, в която всеки елемент ai е или елемент на множеството S, или списък над S.

n=0 a=0 - празен списък

length(a)=n, first(a)=a1,last(a)=an,

Page 10: Компютърна алгебра

ВТУ, 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)

Page 11: Компютърна алгебра

ВТУ, 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

Page 12: Компютърна алгебра

ВТУ, 2008

Алгоритми и тяхната сложност

• Алгоритъм – метод за решаване на даден клас задачи

• Сложност – ресурсите, които алгоритъмът използва за решаването на задача от този клас

• Измерване на сложността – време за изчисленията или използвана памет

• Времева сложност – времето за изчисления се изразява като функция на количеството на данните (измерени по определен начин) на входа на алгоритъма

Page 13: Компютърна алгебра

ВТУ, 2008

Алгоритми и тяхната сложност

-дължина на цялото число i ще наричаме броя на цифрите му в бройна система с основа - L (i)

L1000 (23456789)=3

L10 (23456789)=8

L256 (23456789)=4

L2 (23456789)=25

Page 14: Компютърна алгебра

ВТУ, 2008

Алгоритми и тяхната сложност

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

Page 15: Компютърна алгебра

ВТУ, 2008

Алгоритми и тяхната сложност

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

Page 16: Компютърна алгебра

ВТУ, 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

Page 17: Компютърна алгебра

ВТУ, 2008

Алгоритми и тяхната сложност

• Ако tA(n)=O(nk), то А се нарича алгоритъм с полиномна (времева) сложност (полиномен алгоритъм)

• Алгоритъм с експоненциална сложност (експоненциален алгоритъм) - tA(n)=O(2n)

O(log n)< O(n) < O(n log n)< O(n2)< O(2n)

Page 18: Компютърна алгебра

ВТУ, 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))

Page 19: Компютърна алгебра

ВТУ, 2008

Системи за компютърна алгебра

• Системи с общо предназначение: AXIOM, Magma, Mathematica, Maple,

• Системи със специално предназначение:

Page 20: Компютърна алгебра

ВТУ, 2008

Page 21: Компютърна алгебра

ВТУ, 2008

Mathematica

Създадена от Stephen Wolfram и по-нататък разработена от колектив от математици и програмисти. Продава се от Wolfram Research

www.wolfram.com

Page 22: Компютърна алгебра

ВТУ, 2008

www.maplesoft.com

Page 23: Компютърна алгебра

ВТУ, 2008

Page 24: Компютърна алгебра

ВТУ, 2008

MathCad

Page 25: Компютърна алгебра

ВТУ, 2008

MuPAD

• Open Computer Algebra System до 2005

• University of Paderborn, Germany

• http://www.mupad.de

Page 26: Компютърна алгебра

ВТУ, 2008