Polski opis Eigenmath.doc

(662 KB) Pobierz
Eigenmath

              - 33 -


Eigenmath

(v. 137)

Portable. Freeware.

 

Podręcznik użytkownika

 

Źródło:

Eigenmath.pdf

G. Weight

Maj 2011

 

Przekład:

Robert Wiśniewski

 

 

http://chomikuj.pl/bobwis

 

 

 

Eigenmath to wieloplatformowy system algebry komputerowej napisany przez George Weigta.

Obecnie dostępny dla systemów Windows Linux i Mac OS X.

 

Eigenmath jest napisany w języku C, a jego kod źródłowy jest wolno dostępny.

Ten niewielki programik pozwala na wykonywanie nie tylko obliczeń numerycznych ale również symbolicznych (w  tym różniczkowanie i całkowanie), przeprowadzanie operacji macierzowych i tworzenie prostych wykresów a nawet pisanie skryptów.

 

W istocie rzeczy jest to zminiaturyzowana, przenośna wersja MatLab.

 

 

 

 

 

SPIS TREŚCI

 

1. Wprowadzenie

1.1. Wykładniki ujemne

1.2. Definiowanie symboli

1.3. Wykresy

1.4. Skrypty

1.5. Liczby zespolone

1.6. Algebra liniowa

 

2. Obliczenia

2.1. Pochodne

2.2. Gradient

2.3. Szablony funkcji

2.4. Całki

2.5. Długość łuku

2.6. Lrzywe całkowe

2.7. Pole powierzchni

2.8. Całki powierzchniowe

2.9. Teoria Greena

2.10. Teoria Stokesa

 

3. Dodatkowe przykłady

3.1. Wzory François Viète

3.2. Wirowość (rotacja) w postaci tensorowej

3.3. Kwantowy oscylator harmoniczny

3.4. Wodorowe funkcje falowe

3.5. Akceleratory kosmiczne Shuttle i Corvette

3.6. Stała Avogadro

3.7. Zero do potęgi zerowej

 

4. Funkcje wbudowane

 

5. Składnia

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Wprowadzenie

 

Poniższe przykłady zaczerpnięte zostały z autobiograficznych notatek Vladimira Nabokova.

 

„Prosty samouczek objaśnił mi zbyt wcześnie istotę logarytmów i wyczytałem w (brytyjskiej publikacji dla młodzieży) o pewnym matematyku hinduskim, który dokładnie w ciągu dwóch sekund potrafił obliczać 17-ty pierwiastek np. z liczby 3529471145760275132301897342055866171392 (nie miałem pewności czy wynik jest dobry, ale sprawdziłem i wynosił on 212)”.

 

Możemy to sprawdzić wpisując w programie Eigenmath wyrażenie:

 

212^17

 

Po wciśnięciu klawisza ENTER,  zostanie wyświetlony poniższy wynik:

 

3529471145760275132301897342055866171392

 

Tak więc Nabokow miał rację.

 

Możemy to dalej sprawdzić klikając przycisk Float, co prowadzi do prostszego wyniku

 

3.52947 x 1039

 

Teraz możemy skorzystać z Eigenmath do obliczenia 17-tego pierwiastka z tej liczby.

 

N=212^17

 

N

 

N = 3529471145760275132301897342055866171392

 

N^(1/17)

 

212

 

Podkreśla się, że gdy do symbolu jest przypisywana w liczba, nie ukazuje się żaden wynik.

 

Aby zobaczyć tą wartość, trzeba wprowadzić ten symbol w wierszu wpisywania danych:

 

N

 

N = 3529471145760275132301897342055866171392

 

1.1. Wykładniki ujemne

 

Eigenmath wymaga stosowania nawiasów wokół wykładników ujemnych, np.

 

10^(-3)

 

zamiast

 

10^-3

 

Powodem tego jest to, że łączenie znaków ujemnych nie zawsze jest jednoznaczne.

 

Przykładowo w wyrażeniu:

 

X^-1/2

nie jest jasne czy wykładnikiem jest -1 czy -1/2.

 

Tak więc Eigenmath wymaga wprowadzania nawiasów x^(-1/2), co jest jednoznaczne.

 

Teraz powstaje nowe pytanie. Pomijając znak minus, czy może występować osobny znak potęgowania ^ (bez nawiasów) ?

 

Odpowiedź jest taka, że  istotny jest tylko pierwszy znak za symbolem potęgowania. Przykładowo, poniższe wyrażenie jest traktowane jako (x1)/2:

 

x^1/2

 

Tak więc na ogół, nawiasy sa niezbędne w wyrażeniu zawierającym wykładnik

 

X^(1/2)

                                                                                    x1/2

 

 

1.2. Definiowanie symboli

 

Jak wcześniej wspomniano, Eigenmath korzysta z takiej samej składni jak stary język Fortran.

 

N=212^17

 

Przy definiowaniu symbolu, żaden wynik nie jest wyświetlany. Aby zobaczyć wynik, trzeba wprowadzić wymagany symbol:

 

N

 

N = 3529471145760275132301897342055866171392

 

Wszystko po pierwszej literze symbolu jest traktowane jako indeks dolny:

 

NA = 6.02214*10^23

 

NA=6.02214*1023

 

Symbol może być literą grecką:

 

xi=1/2

 

xi

 

Z uwagi na to, że xi jest odczytywane jako x, jak można wprowadzić symbol xi ? Spróbujemy to rozwiązać w przyszłości, ale teraz xi jest odczytywane zawsze jako x.

 

Litery greckie mogą również pojawiać się w indeksach.

 

Amu=2.0

 

Amu

 

Am = 2.0

 

Ogólna zasada jest taka, że Eigenmath skanuje cały symbol szukając greckich liter:

 

alphamunu

 

amn

 

Spróbujemy teraz sprawdzić co się pojawi przy obliczaniu wartości symbolu. Najważniejsze jest to, że Eigenmath dokładnie oblicza podwyrażenia symboliczne.

 

A=B

B=C

C=D

sin(A)

 

sin(D)

 

W powyższym przykładzie, obliczanie wartości sin(A) prowadzi do wyniku sin(D), ponieważ program Eigenmath rozwiązuje symbol A zastępując go symbolem D.

 

Jednak wewnętrznie A jest nadal równe B. co można sprawdzić wpisując funkcję nawiasów binding:

 

binding(A)

 

B

 

Spróbujmy teraz wrócić na chwile do definicji symboli. Pamiętamy, że prawa strona  definiowanego wyrażenia jest obliczana przed jej zamknięciem w nawiasach (przed wykonaniem funkcji binding), np.:

 

B=1

A=B

binding(A)

 

1

 

Funkcja binding A jest tutaj równa 1, a nie B, ponieważ  B już zostało wcześniej zdefiniowane zanim pojawiało się A=B.  Do poznania dokładnej wartości A stosujemy funkcję quote:

 

A=quote(B)

binding(A)

 

B

 

Wszystko to oznacza, że  symbole mają podwójny charakter. Symbol ma wartość nawiasową  binding Tora może być inna od jej obliczanej wartości, Zwykle różnica ta nie jest istotna. Funkcje quote oraz binding są tu wymienione głównie w celu zilustrowania tego co może pojawiać się wewnątrz programu. W warunkach normalnych nie trzeba korzystać z tych funkcji. Jednak jedynym istotnym wyjątkiem jest korzystanie z funkcji quote do oczyszczania symbolu.

 

x=3

x

 

x = 3

 

x=quote(x)

x

 

x

 

 

1.3. Wykresy

 

Funkcja draw(f,x) rysuje wykres funkcji f względem zmiennej x. Drugi argument można pominąć gdy zmienną zależną jest x lub t. Wektory  xrange oraz yrange sterują skalą wykresu, np. draw(x^2).

 

 

 

 

xrange=(-1,1)

yrange=(0,2)

draw(x^2)

 

 

 

Funkcja Clear (lub kliknięcie przycisku Clear) resetuje zakres xrange oraz yrange przywracając go do wartości domyślnych.

 

Wykresy parametryczne pojawiają się gdy funkcja zwraca wektor. Funkcja trange steruje zakresem wektora.

 

Zakres domyślny wynosi (-p, p)

 

f=(cos(t),sin(t))

draw(5*f)

 

 

 

 

trange=(0,pi/2)

draw(5*f)

 

 

 

 

 

Poniżej przedstawiono zestaw ciekawych krzywych oraz kody do ich wykreślania.

 

...

Zgłoś jeśli naruszono regulamin