UWAGA! Używamy plików cookies, by ułatwić korzystanie z naszego serwisu. Jeśli nie chcesz, by pliki cookies były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Co to są pliki cookies?

Mathematica, nowości w wersji14.0


Wersja 14 oraz 14.1 programu Mathematica to w ponad 30-letniej historii rozwoju tego programu, kolejny krok na drodze do zapewnienia użytkownikom coraz większej mocy obliczeniowej, skuteczności i wydajności pracy.

Pełna lista nowości i zmian w tej wersji programu z podziałem na obszar zastosowań oraz wykaz alfabetyczny dostępne są pod adresami:

Lista nowości w wersji 14
Lista nowości w wersji 14.1
Alfabetyczny wykaz nowych i zmienionych funkcji programu w wersji 14
Alfabetyczny wykaz nowych i zmienionych funkcji programu w wersji 14.1

Poniżej wymienione zostały znaczące nowości i ważniejsze zmiany wprowadzone w wersji 14 programu.

Podstawowe funkcje języka
Obliczenia matematyczne
Uczenie maszyn i sieci neuronowe
Wizualizacje parami wielu serii danych
Astronomia
Geometria, grafy i grafika
Przetwarzanie obrazów, sekwencji video i dźwięku
Modelowanie systemów
Przyspieszenie operacji
Instalacja programu
Inne obszary wprowadzonych zmian i ulepszeń


Podstawowe funkcje języka

Operacje na listach i procedury mapowania funkcji należą do podstawowych operacji środowiska Wolfram Language. Wersja 14 wprowadziła w tym zakresie nowe funkcje Comap i ComapApply. Istniejąca w środowisku programu procedura Map pozwala zastosować zastosować wybraną funkcję do każdego elementu listy.

Nowosci-w-14.0_1.png

Nowosci-w-14.0_2.png

Wprowadzona funkcja Comap pozwala zastosować listę funkcji do wskazanego wyrażenia.

Nowosci-w-14.0_3.png

Nowosci-w-14.0_4.png

W taki sposób można wyliczyć wartości funkcji trygonometrycznych dla danego kąta:

Nowosci-w-14.0_5.png

Nowosci-w-14.0_6.png

..., a  tak zestaw parametrów statystyki opisowe dla zestawu danych.

Nowosci-w-14.0_7.png

Nowosci-w-14.0_8.png

Nieco inaczej wygląda tutaj wywołanie funkcji Quantile. Wiąże się to z faktem, że pozostałe funkcje użyte w tym przykładzie są funkcjami jednoargumentowymi, a  funkcja Quantile potrzebuje drugiego argumentu, dlatego zastosowano strukturę pure function.

Zmodyfikowane zostały w wersji 14 niektóre funkcje z zakresu operacji na liczbach, w tym na liczbach w zapisie rzymskim oraz w zakresie operowania na jednostkach fizycznych. Nowością jest funkcja DigitSum pozwalająca wyznaczyć sumę cyfr liczby całkowitej.

Nowosci-w-14.0_9.png

Nowosci-w-14.0_10.png

Został przyspieszone operacje na liczbach w zapisie rzymski realizowane przez funkcję RomanNumeral i FromRomanNumeral. Poniższa kombinacja funkcji RandomInteger i RomanNumeral generuje 20 losowych liczb w zapisie rzymski z przedziału od 1 do 2024.

Nowosci-w-14.0_11.png

Nowosci-w-14.0_12.png

Gdyby ktoś miał problemy z identyfikacją tych liczb można zastosować funkcję FromRomanNumeral.

Nowosci-w-14.0_13.png

Nowosci-w-14.0_14.png

Obie funkcje operowania na liczbach w zapisie rzymskim pojawiły się w środowisku programu w roku 2015 w wersji 10.2 programu Mathematica, ale wersja 14 usprawniła i przyspieszyła te operacje.

Obliczenia matematyczne

Procedury obliczeń matematycznych to obszar zastosowań programu Mathematica, w którym wersja 14 wprowadziła wiele nowości, aktualizacji i zmian. Zmianami objęte zostały takie obszary matematyki jak: rachunek wektorowy, analiza zespolona, transformacje całkowe, równania różniczkowe i różnicowe, funkcje specjalne, numeryczne rozwiązywanie równań, teoria ciała skończonego (finite field), macierze strukturalne i arytmetyka przedziałowa.

W  prawie  każdej  z  tych dziedzin wprowadzone zostały nowe funkcje. Przykładowo jeszcze w wersji 13.3 wprowadzona została procedura LineIntegrate licząca symbolicznie całki krzywoliniowe. W wersji 14 wprowadzono jest numeryczny odpowiednik NLineIntegrate.

Nowosci-w-14.0_15.png

Nowosci-w-14.0_16.png

Nowosci-w-14.0_17.png

Nowosci-w-14.0_18.gif

Nowosci-w-14.0_19.png

Nowosci-w-14.0_20.png

Nowosci-w-14.0_21.png

Nowosci-w-14.0_22.png

Rozwiązanie symboliczne za pomocą funkcji LineInterate nie zawsze jest dostępne.  Poniżej liczona jest całka po okręgu dla funkcji f.

Najpierw obraz tego co będzie liczone.

Nowosci-w-14.0_23.gif

Nowosci-w-14.0_24.gif

A teraz całka krzywoliniowa. Rozwiązanie  symboliczne  nie  zostało  wygenerowane.

Nowosci-w-14.0_25.png

Nowosci-w-14.0_26.png

Ale wartość numeryczna obliczona za pomocą funkcji NLineInterate wprowadzonej w wersji 14 może być wyznaczona.

Nowosci-w-14.0_27.png

Nowosci-w-14.0_28.png

Z  innych  zmian z tego zakresu należy wymienić funkcje NSurfaceIntegrate, czy NContourIntegrate.

Uczenie maszyn i sieci neuronowe

Procedury uczenia maszyn i operowania sieciami neuronowym są uzupełniane w każdej wersji programu. Dynamicznej rozbudowie podlega nieustannie Wolfram Neural Net Repository. Jest to zestaw gotowych do użycia sieci “przetrenowanych” sieci neuronowych dedykowanych określonym zastosowaniom. Rozbudowie ulegają szczególnie możliwości w zakresie generowania obrazów oraz konwersja nagrań audio na tekst. Aktualnie repozytorium zawiera ponad 150 gotowych do wykorzystania sieci neuronowych, podzielonych na grupy ze względu na charakter danych wejściowych oraz na cel jakiemu mają służyć.

Wizualizacje parami wielu serii danych

Wprowadzono kilka rodzajów nowych wykresów, które operują na zastawach kilku serii danych wyświetlając je parami. Najprostszy z tej serii PairwiseListPlot pokazany został poniżej.

Rysunek pokazuje zależności między wiekiem pacjentów, zawartością cukru we krwi oraz poziomem cholesterolu. Uśrednione dane pochodzą z bazy Wolfram|Alpha.

Nowosci-w-14.0_29.png

Graphics:None

Poniżej te same dane zaprezentowane w formie histogramu gęstości za pomocą procedury PairwiseDensityHistogram ...

Nowosci-w-14.0_31.png

Graphics:None

... lub w formie “wygładzonego histogramu” PairwiseSmoothDensityHistogram.

Nowosci-w-14.0_33.png

Graphics:None

W  zestawie  procedur  operujących  na  parach serii danych są jest procedury PairwiseQuantilePlot i PairwiseProbabilityPlot.

Astronomia

Już wersja 13.2 wprowadziła szereg funkcji pozwalających na wykonywanie obliczeń astronomicznych. Nie są to obliczenia proste, tym bardziej że dane dotyczące pozycji obiektów astronomicznych wymagają obsługi wielu układów współrzędnych, a dodatkowo podawane są dla aktualnej pozycji obserwatora (Here), wyznaczone na ogół w oparciu o geoIP dla lokalizacji komputera użytkownika programu, ale może to znacznie odbiegać od rzeczywistej pozycji wyznaczonej przez wbudowany GPS.

W wersja 14 programu położony został nacisk na wyznaczanie zaćmień słońca. Procedura SolarEclipse została wprowadzona do programu przed całkowitym zaćmieniem słońca, które ma być obserwowane w USA w dniu 8 kwietnia 2024. Informacja niniejsza przygotowana została z początkiem marca 2024, czyli mapę związaną z przebiegiem tego zaćmienia możemy oglądać wcześniej na symulacjach sporządzonych w wersji 14 programu Mathematica. Pokazana została poniżej.

Nowosci-w-14.0_35.png

Nowosci-w-14.0_36.gif

Mapa poniżej pokazuje obszar USA i północnego Meksyku, po którym będzie przesuwał się cień księżyca podczas zaćmienia.

Nowosci-w-14.0_37.png

Nowosci-w-14.0_38.gif

Geometria, grafy i grafika

Obszary związane z wizualizacjami graficznymi podlegają nieustannym zmianom. Poszerzane są możliwości w zakresie komponowania grafiki oraz modyfikacji ich atrybutów. Z licznych zmian jakie w tym zakresie zostały wprowadzone zasygnalizujemy tylko nowe opcje w zakresie nakładania tekstury na obiekty graficzne oraz zmian dotyczących oparowania na strukturach drzewiatych.

Wersja 14 programu Mathematica wprowadziła opcję TextureMapping, która pozwala sterować sposobem nakładania tekstury na obiekty graficzne.

Oto kilka przykładów.

Nowosci-w-14.0_39.gif

Nowosci-w-14.0_40.gif

Nowosci-w-14.0_41.gif

Nowosci-w-14.0_42.gif

Nowosci-w-14.0_43.gif

Nowosci-w-14.0_44.gif

Dalszej rozbudowie podlegają procedury operowania na strukturach drzewiastych. Struktury tego typu znajdują coraz liczniejsze zastosowania w wizualizacjach z różnych dziedzin. Rozbudowa programu o nowe opcje renderowania tego typu struktur stwarza coraz większe możliwości w zakresie ich wykorzystania, dając nowe możliwości prezentacji. Często potrzeby użytkowników podpowiadają kierunki nowych modyfikacji i ulepszeń.

Opcje takie jak ograniczenie liczby wyświetlanych elementów podrzędnych, definiowanie stylów wyświetlania elementów drzewa, możliwość wprowadzenia tekstowych opisów gałęzi drzewa, czy tak zwane pure trees (“drzewo czyste lub ubogie”) stosowane do prezentacji danych w sytuacji gdy ważna jest tylko struktura drzewa, a nie są istotne parametry jego elementów. Te opcje były dostępne już w wersjach wcześniejszych

Przykład drzewa w którym ważna jest tylko jego struktura.

Nowosci-w-14.0_45.gif

Graphics:None

W wersji 14 procedury TreeInsert, TreeDelete i TreeReplacePart, pozwalające operować na fragmentach struktury drzewa zyskały taki sam zestaw opcji jak funkcje Tree.

Funkcja mapowania wartości węzłów drzewa została wyposażona w dodatkową opcję pozwalającą narzucić kolejność mapowania węzłów.

Przykład pokazuje użycie funkcji n++& do mapowania węzłów, co pozwala na nadanie im kolejnych numerów od 1 do 10. Kolejność numeracji może być różna, a decyduje o tym wartość opcji TreeTraversalOrder.

Nowosci-w-14.0_47.gif

Nowosci-w-14.0_48.gif

Przetwarzanie obrazów, sekwencji video i dźwięku

Wersja 14 programu Mathematica kontynuuje rozbudowę możliwości programu w zakresie przetwarzania obrazów, sekwencji video i dźwięku. Gdy powstawała pierwsza wersja programu 35 lat przed ukazaniem się wersji 14 programu, jak pisze na swoim blogu Stephen Wolfram, megabajt stanowił dużą porcję danych. Teraz możemy efektywnie operować zestawami gigabajtowymi, co sprawiło, że procedury przetwarzania sekwencji video od wersji 12.1 programu są szybko rozwijane.

Szczególnie rozwijane są możliwości programu w zakresie generowania sekwencji video, czyli programistyczne narzędzia pozwalające tworzyć animacje i video. Istniejąca w programie funkcja AnimationVideo bazuje na tworzeniu kolejnych klatek filmu przez wykonywanie operacji zdefiniowanych przez wyrażenia języka programowania. W innym trybie pracuje procedura TourVideo. Operuje ona na istniejącej konstrukcji graficzne i wykonuje specyficzną “podróż” przez wyświetlanie kolejnych fragmentów grafiki według zdefiniowanego planu. Komenda TourVideo zastała zaprezentowana przy okazji omawiania nowości w wersji 13.0.

Wprowadzona w wersji 14 komenda Tour3DVideo pozwala na “podróż” przez obiekt 3D, w tym przypadku przez układ 75 sześcianów.

Nowosci-w-14.0_49.gif

Plan “podróży” definiowany jest jako parametry procedury Tour3DVideo. Trasa “podróży” i położenie kamery definiowane są jako kolejne etapy w formie listy.

Podróż w krainie 3D

Modelowanie systemów

Modelowanie systemów w większości przypadków sprowadza się do definiowania równań różniczkowych cząstkowych składających się na model systemu. Zagadnienie to wymaga określenia geometrii układów, zdefiniowania warunków brzegowych oraz konfigurowania samych równań opisujących zachowanie systemu.

W wersji 14 programu Mathematica położony został szczególny nacisk na tworzenie modeli układów z zakresu mechaniki ciała stałego, mechaniki płynów oraz elektromagnetyzmu i mechaniki kwantowej.

Modelowanie systemów stosowane w programie Mathematica krótko zasygnalizowane zostanie w tym opisie na podstawie tworzenia modelu ciała stałego o określonym kształcie i zdefiniowanych parametrach, rozciąganego z pomocą siły przyłożonej w jednym punkcie.

W pierwszym kroku definiowane są zmienne i parametry opisujące model.

Nowosci-w-14.0_51a.gif

Krok drugi to definiowanie modelu. W definicji użyta została procedura SolidMechanicsPDEComponent, która definiuje układ równań różniczkowych cząstkowych, warunki brzegowe i działające siły zewnętrzne.

Nowosci-w-14.0_52a.gif

Procedura NDSolveValue, jak w każdym podobnym przypadku służy do rozwiązania zagadnienia i analizy modelu. Geometria obiektu poddawanego odkształceniom zdefiniowana został za pomocą funkcji Region.

Nowosci-w-14.0_53.gif

Nowosci-w-14.0_54.gif

Wynik symulacji odkształcenia obiektu pokazuje rysunek.

Nowosci-w-14.0_55.gif

Nowosci-w-14.0_56.gif

Zdefiniowane zostały analogiczne funkcje dla tworzenia modelu dla zagadnień mechaniki płynów FluidFlowPDEComponent oraz zagadnień mechaniki kwantowej SchrodingerPDEComponent.

Przyspieszenie operacji

Zmiany w kolejnych wersjach programu Mathematica obejmują nowe procedury i ten kierunek zmian jest łatwo zaprezentować, efekty ich są bezpośrednio widoczne. Wiele zmian jest trudno zaprezentować, gdyż dotyczą wewnętrznego funkcjonowania procedur. Wiążą się one z samym algorytmem pracy danej procedury,  co wiążę się bardzo często ze znacznym przyspieszeniem obliczeń.  Rozbudowa określonych obszarów zastosowań programu wymusza nie jednokrotnie zmiany w już istniejących grupach procedur.

Taka sytuacja miała miejsce w wersji 14 przy rozbudowie możliwości w zakresie obliczeń z dziedziny astronomii. Pociągnęło to konieczność zmian w zakresie funkcji czasu oraz nowych systemów kalendarzy ukierunkowanych na zastosowania astronomiczne. Zoptymalizowana w wersji 14 arytmetyka dat pozwoliła na ponad 100 krotne przyspieszenie niektórych operacji.

Inną metodą na przyspieszenie otrzymania wyniku jest ograniczenie liczby rozwiązań. Przykładem niech będzie procedura numerycznego rozwiązywania równań NSolve.

Nowosci-w-14.0_57.png

Nowosci-w-14.0_58.png

Nowosci-w-14.0_59.png

Jak widać na tym prostym przykładzie równanie, którego stopień wynosi 4000 ma dokładnie tyle pierwiastków, co nie jest zaskoczeniem. Poniżej wyświetlonych zostało pięć z nich.

Nowosci-w-14.0_60.png

Nowosci-w-14.0_61.png

Ale żeby wyświetlić pięć z nich program musiał wyliczyć wszystkie. Co by było gdyby wielomian był milionowego stopnia. Wyliczanie miliona pierwiastków mogłoby chwilę potrwać. Wersja 14 pozwala ograniczyć liczbę szukanych pierwiastków bez konieczności wyznaczania wszystkich. Wprowadzona w tej wersji opcja MaxRoots pozwala ustalić ile pierwiastków na zwrócić procedura NSolve.

Nowosci-w-14.0_62.png

Nowosci-w-14.0_63.png

Jak widać powyżej dzięki użyciu funkcji Timing, wynik otrzymaliśmy całkiem szybko. Pierwszy element listy odpowiedzi 0.265625 to czas trwania obliczeń w sekundach. Wyznaczenie wszystkich pierwiastków równania o stopniu 4000 zajęło na tym samym komputerze ok. Nowosci-w-14.0_64.png. Nie podejmowaliśmy próby wyznaczenia wszystkich pierwiastków równania Nowosci-w-14.0_65.png, ale ograniczenie liczby szukanych pierwiastków daje zadowalające wyniki.

Nowosci-w-14.0_66.png Bezwzględna wartość czasu obliczeń jest z oczywistych względów uzależniona od parametrów komputera i wyniki na różnym sprzęcie mogą od siebie znacznie odbiegać. W przykładzie nie jest istotna wartość czasu obliczeń, ale idea użycia opcji MaxRoots.

Instalacja programu

Wersja instalacyjna programu Mathematica w wersji 12.3 w formie spakowanego pliku zip miała wielkość ponad 4.5 GB. W wersji 13 został wyodrębniony do samodzielnego pliku wyłącznie wersję instalacyjną samego programu, a po instalacji dokumentacja w formie systemu Help dostępna jest z poziomu programu w wersji on-line. Do korzystania z dokumentacji konieczne jest aktywne połączenie internetowe.  
Dodatkowo w opcji
Help znajduje się polecenie Install Local Documentation, które pozwala zainstalować lokalną wersję dokumentacji programu.
Ten schemat pobieranie wersji instalacyjnej i tryb dostępu do systemu
Help został utrzymany w wersji 14 programu Mathematica.

Inne obszary wprowadzonych zmian i ulepszeń

Poszerzony został zestaw formatów importu i eksportu plików oraz między innymi wprowadzono dalsze zmiany w zakresie kompilacji kodu źródłowego.