Wolfram Mathematica知人

Wolfram | Alphaを知っおいる人なら誰でも、Wolfram Mathematicaに぀いお聞いたこずがあるでしょう。 残念ながら、怜玢ではHabréにこの玠晎らしい環境に関する投皿がないこずが瀺されたした。この蚘事では、Mathematicaでのプログラミングに特化した䞀連の出版物を開きたいず考えおいたす。 そもそも、このシステムの機胜には倚くの特城がありたすので、ご説明ください。しばらくお埅ちください。 この数孊的パッケヌゞがhabrazhiteliにずっお興味深いものである堎合、他の蚘事が確実に続き、より具䜓的に、環境ず内郚蚀語を扱う方法を教えたす。



Mathematicaは、倚くのプログラミングパラダむム、高床なデバッグツヌル、自動むンタヌフェヌス蚭蚈などをサポヌトする柔軟な蚘号蚀語に基づいおいたす。 蚭蚈から実装たでの開発プロセス党䜓を簡玠化したす。 Mathematicaのすべお-デヌタ、プログラム、匏、グラフ、ドキュメント-はシンボリック匏の圢匏で衚されたす。





数孊環境に぀いお説明するため、たず第䞀に、その蚈算胜力ずタスクの範囲に぀いお話す必芁がありたすMathematicaには、Wolfram Researchによっお発芋された高床に最適化されたアルゎリズムの䞖界最倧のコレクションが含たれおいたす。 JITオンザフラむでのコンパむルの有効性ず自動構成可胜な䞊列コンピュヌティングの組み合わせにより、回答の正確性ず受信の高速性が保蚌されたす。 システムはあらゆる粟床の数倀をサポヌトしおおり、結果の品質を改善するために内郚蚈算にさらに正確な倀が䜿甚されるこずがよくありたす。 たた、粟床を高めるために、環境は蚘号蚈算を䜿甚したす。 匏を単玔化たたは倉換しようずし、数倀蚈算を実行したす。 この堎合、解法アルゎリズムは数千の方法から自動的に遞択され、蚈算プロセス䞭にも倉曎できたす。これにより、解法の速床が䞊がり、手動タスク蚭定よりも粟床が向䞊したすただし、これは犁止されおいたせん。





数孊的な可胜性はすべお、線圢システムだけでなく、代数的、埮分的、反埩的、機胜的等匏および䞍等匏を解く胜力を提䟛する匷力な関数の小さなセットに含たれおいたす。 埮分および積分分析、玚数分析ずフヌリ゚分析、クラスタヌ分析、積分倉換などを実行する機胜。 たた、シンボリックマトリックス、任意の粟床の数を持぀マトリックス、高密床、スパヌス、数癟䞇の芁玠を持぀マトリックス、代数方皋匏の根ずシステムを芋぀けるためのさたざたな数倀手法。 Mathematicaは、離散コンピュヌティングのための包括的なシステムを提䟛し、因数分解ず分解、構造挔算、倚項匏の陀算など、倚項匏代数のすべおの偎面を含みたす。 この環境では、ベゞェ曲線、Bスプラむン、NURBS曲線、およびサヌフェスを任意の数の次元で䜜成、衚瀺、管理できたす。 スプラむンを䜿甚しおデヌタを補間するず、任意のフィヌルドにスプラむンメ゜ッドを適甚できたす。





単玔で倚次元の積分、およびそれらのシヌケンスの和ず積を取りたす。 倚数の数倀積分法がサポヌトされおいたす。 噂によるず、Mathematicaは既知のすべおの積分の99を取り、この分野のリヌダヌです。 残念ながら、珟時点ではそのような情報をサむトで芋぀けるこずはできたせんでしたが、この分野で私を倱望させるこずはありたせんでした。





Mathematicaはグラフの幅広い基本的な操䜜ずアルゎリズムをサポヌトしたす。たずえば、パス、ルヌプ、クリックなどの怜玢です。 任意のグラフを蚭定し、ランダムグラフを生成し、むンタラクティブに蚭蚈し、暙準のグラフ圢匏ずマトリックスビュヌに゚クスポヌトおよびむンポヌトするこずもできたす。 玠因数分解、玠数、比范およびモゞュラヌ算術などの単玔なこずに぀いおは蚀及するこずさえできたせん。 任意の粟床の数孊定数が利甚可胜であり、πやeなどの定数の数癟䞇の文字が瞬時に蚈算されたす。





統蚈孊者は、 他のどのシステムよりも倚くの統蚈分垃が含たれおおり、統蚈的な枬定ず操䜜の完党なセット数孊的期埅倀ず分散からセミオプションず情報の゚ントロピヌたで、自動パラメヌタヌ掚定ず仮説怜定、統蚈モデルの分析などを提䟛したす。





Mathematicaは匷力なコンピュヌティング環境であるだけでなく、蚈算生物孊や金融工孊から波動解析や地理情報システムたで、掻動の倚くの技術分野に圱響を䞎える組み蟌みの远加機胜を備えおいたす。





Mathematicaは、スプレッドシヌト、xml、2次元および3次元のグラフィック圢匏、マルチメディアファむル、pdfやhtmlを含むドキュメント、アヌカむブおよびその他の倚くの特定のデヌタ圢匏を含む、むンポヌトおよび゚クスポヌト甚の数癟の圢匏をサポヌトしおいたす。 最初は、gif、jpeg、png、svg、eps、avi、flv、quicktime、swfなど、すべおの暙準のラスタヌ、ベクタヌ、およびビデオ圢匏がサポヌトされおいたす。 ビデオファむル党䜓をむンポヌトし、さらに凊理するために個々のフレヌムを遞択できたす。 たた、画像を操䜜するために、Mathematicaには、画像を取埗したり、さたざたなフィルタヌ、セグメンテヌション、圢状分析、アりトラむン遞択などを適甚したり、リアルタむムで機胜する倚くの機胜が組み蟌たれおいたす。





マルチコアシステムでは、環境が蚈算のいく぀かの郚分を同時に自動的に開始したすいく぀かは魂がねじれおいたすが、少し手を加える必芁がありたす。 パラレルコンピュヌティングサブシステムは、ネットワヌクコンピュヌティング、グリッドシステム、クラりドコンピュヌティングに合わせお拡匵でき、シンボリック蚀語はデヌタ分離の倚くのモデルをサポヌトしたす。 このシステムでは、GPUをプログラムするこずもできたすCUDAおよびOpenCLの組み蟌みサポヌト。 すべおのGPU操䜜は、プロセス間のデヌタ亀換、自動コンパむル、GPUコヌドのリンクなど、環境に完党に統合されおいたす。





Mathematicaには、構造化および非構造化デヌタを2dおよび3dで衚瀺するための完党な関数セットが含たれおいたす。 等高線および密床グラフ、ポむント、ラむンおよびサヌフェスからのグラフ、ベクトルグラフおよび流線のグラフ、ヒストグラム、2次元および3次元のセクタヌ図および列図、バブル図、専門分野のグラフ財務および統蚈、グラフ理論などを衚瀺する機胜が組み蟌たれおいたす、制埡システムなどチャヌト「日本のロヌ゜ク足」、QQ正芏確率チャヌト分䜍点プロット、「口ひげのある箱」箱ひげ図、LAFCHボヌド線図など。





グラフィックスサブシステムは、関数、デヌタ、図、画像、たたは泚釈の高品質の静的たたは動的衚珟を提䟛し、蚈算の速床ず芖芚的な察応のバランスを自動的に決定したす。 グラフィック機胜は、印刷領域ず地域化を個別に遞択できたす。 Mathematicaには、画像サむズ、軞ラベル、グリッド衚瀺、分割、塗り぀ぶし、3Dラむティング、カメラアングルなど、ディスプレむのあらゆる偎面を制埡する数癟のオプションが甚意されおおり、プロ䞊みのグラフィックを䜜成できたす。 さらに、3Dグラフィックはむンタラクティブで、カメラの蚭定をリアルタむムで倉曎できたす。





これずは別に、むンタヌフェむスの自動蚭蚈、シンボリック制埡芁玠、単䞀の入力むンタヌフェむス、さたざたな皮類のブレヌクポむントを蚭定する機胜を備えたデバッグずプロファむリング、コヌド実行䞭の匏の監芖、プログラム実行の芖芚的な段階的な制埡などにより、開発に぀いお蚀及する䟡倀がありたす他の人に。 Mathematicaは、構文の匷調衚瀺、゚ラヌ報告、コマンドの远加、自動フォヌマット、むンデントなどを備えた匷力な゜ヌスコヌド゚ディタヌを提䟛したす。 倚蚀語IDE Wolfram WorkbenchEclipseベヌスずの統合により、プロゞェクトファむル管理、゜ヌスコヌドを操䜜するための高床なツヌル、デバッグ、構文解析など、開発効率を高めるさたざたなツヌルにアクセスできたす。





Mathematicaには、ボタンずスラむダヌ、タブ、チェックボックス、ポップアップメニュヌ、ダむアログボックス、ツヌルバヌなどのむンタヌフェヌスず制埡芁玠の完党なセットが含たれおおり、独自の芁玠を䜜成する機胜も提䟛しおいたす。 システムは各プラットフォヌムに察しお自然な方法でコントロヌルをレンダリングするため、どのOSで動䜜するかを考える必芁なく、グラフィックアプリケヌションを自由に共有できたす。 ナヌザヌむンタヌフェヌス芁玠にはMathematica匏を含めお衚瀺できたす。





システムを䜿甚するず、パッケヌゞを䜜成できたす。プラットフォヌムに䟝存しないコヌドラむブラリを䜿甚するず、パッケヌゞを再利甚し、ドキュメントず補助ツヌルバヌの完党なセットで簡単に配垃できたす。 倖郚コントロヌラヌや入力デバむスをMathematicaに簡単に接続できたす。ゲヌムパッド、ゞョむスティック、觊芚デバむス、3Dマりス、その他のHIDデバむスを自動的に認識しお蚭定できたす。





環境での䜜業は、䞻にいわゆる「ラップトップ」ノヌトブック、* .nbで行われたす。これには、フォヌマットされたテキスト、グラフィック、察話型アプリケヌション、コヌドおよびデヌタを含めるこずができたす。たた、レポヌトたたはプレれンテヌションの圢匏で配垃するこずもできたす。 数匏の入力は非垞に簡単であり、同時に非垞に匷力です。 システムには高品質のワヌドプロセッシングシステムの䞀般的な機胜がすべお含たれおおり、ドキュメントの基瀎ずなる文字構造はカスケヌドスタむルシヌトを蚭定するための柔軟なオプションを提䟛したす。メニュヌおよびプログラムの䞡方で1000を超える曞匏蚭定およびデザむンオプションを䜿甚できたす。





Mathematicaは任意の暙準SQL-DBMSに接続し、埓来の文字列SQLク゚リの完党サポヌトずずもに、デヌタベヌス、ク゚リ、結果の高レベルのシンボリック衚珟を提䟛したす。 サブルヌチンを呌び出すこずができ、C、.NET、Java、その他の蚀語のプログラムから呌び出すこずができたす。 個々のプロゞェクトで䜿甚したり、ラむブラリや実行可胜ファむルにコンパむルしたりするためのCコヌドを自動的に生成したす。 実行時に動的ラむブラリを接続したす。 WSDL Webサヌビスに接続したす。 これらはすべお、既存のむンフラストラクチャに簡単な実装を提䟛したす。 webMathematicaは、最新のWeb暙準ずサヌビスを䜿甚しお動的コンテンツを远加し、Web経由で蚈算を実行するむンタラクティブなWebサむトの圢で高性胜のMathematicaアプリケヌションを展開したす。 gridMathematicaを䜿甚するず、自動調敎ずプロセス制埡を備えたクラスタヌでアプリケヌションを䞊行しお実行できたす。 ゜フトりェアレポヌトは、PDF、スプレッドシヌト、HTML、RTFなど、さたざたな圢匏でサポヌトされおいたす。





匷力な操䜜機胜のおかげで、無料のMathematica Playerを䜿甚しお任意のシステムで衚瀺および実行できるむンタラクティブなガゞェットを䜜成できたす。 パッケヌゞのバヌゞョン8の機胜の䞭で、Wolfram | Alphaデヌタぞの盎接アクセスず自由圢匏の蚀語入力を遞択できたす。 簡単な人間の蚀語で匏を入力できたす。これは初心者に圹立぀堎合がありたす。





䞊蚘からわかるように、システムはクロスプラットフォヌムであり、Windows、mac os、linux、さらにはsun solaris 1032ビット版ず64ビット版の䞡方向けにリリヌスされおいたす。  システム芁件ずサポヌトされおいるOSの正確なリスト。 そしお、もちろん、そのような匷力なシステムでは、ドキュメントなしではできたせん。 Mathematicaはここでも倱望したせんでしたヘルプは100,000以䞊の䟋を含むむンタラクティブなラップトップで構成されおいたす。 すべおの䟋は、ドキュメントで盎接実行たたは倉曎できたす恐れないで、倉曎は保存されたせん。新しい機胜を簡単に習埗できたす。





おわりに

準備では、公匏Webサむトの機胜セクションの資料、ドキュメント、および環境に関する長幎の個人的な経隓を䜿甚したした。 远加情報に぀いおは、䞊蚘のセクション 、 ゜リュヌションセクションのシステムの䜿甚方法に関する情報、およびナヌザヌストヌリヌをご芧ください 。 プロ版にはかなりの費甚がかかりたすが、孊生、教育機関、家庭での䜿甚には倧幅な割匕がありたす。 詊甚版も15日間䜿甚できたす。 [そしお、あなたはどこでそれを知っおいるあなた自身でそれをダりンロヌドするこずができたす]。

興味を持っおいただければ幞いです。Habrには、Wolfram Mathematicaに関するさらに倚くの蚘事がありたす。



UPD vayunは、孊ぶべき最も興味深いこずの1぀-Wolfram Demonstrations Projectに぀いお蚀及したした 。 この プロゞェクトでは 、Manipulateを䜿甚しお䜜成された倚くのミニプログラムを芋るこずができたす。 すべおのプログラムにはオンラむンプレビュヌがあり、デモプロゞェクト無料のMathematica Playerで起動できたすず゜ヌスコヌドをダりンロヌドできたす。



All Articles