Entitydari pustaka aljabar simbolis:
Terlihat lebih keren daripada di python. Ini dilakukan dengan sederhana, sangat menyenangkan. Saya mengundang Anda di bawah luka!
Tentang Jupyter
Ini adalah sejenis IDE untuk membuat buku catatan interaktif. Alih-alih menjalankan semua kode sekaligus di lingkungan yang akrab, di sini Anda menjalankannya dalam potongan, menyimpan status variabel. Sangat mudah untuk penelitian dan skrip sederhana untuk "menghitung sesuatu".
Tentang dotnet / interactive
Proyek ini hanya memungkinkan Anda untuk menanamkan Dotnet ke Jupiter. Artinya, Anda benar-benar dapat menulis
DAN mendapatkan hasil kodenya langsung.
Dan beberapa chip bekerja di luar kotak
Tentang AngouriMath
Ini adalah pustaka aljabar simbolis yang relatif kecil untuk .NET untuk bekerja dengan ekspresi matematika. Tentu saja, Anda dapat mengerjakan ekspresi matematika dalam satu baris, tetapi ini tidak selalu nyaman / indah.
Semua ekspresi matematika entah bagaimana mewarisi dari kelas
Entityyang memiliki metode Latexiseyang mengembalikan string. Oleh karena itu, yang tersisa hanyalah membuatnya.
Menyematkan latech
Kami memiliki kemampuan untuk mendaftarkan inferensi kami sendiri untuk tipe kami, itulah yang saya lakukan:
let magic() =
let register (value : ILatexiseable) = $@"
<script src='https://polyfill.io/v3/polyfill.min.js?features=es6'></script>
<script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script>
\[{value.Latexise()}\]
"
Formatter.Register<ILatexiseable>(register, "text/html")
(Habr karena alasan tertentu tidak mendukung F #)
Artinya, kita hanya mendaftar bahwa tipe
ILatexiseableharus ditampilkan dalam format html, dan kode itu sendiri akan dihasilkan oleh fungsi kita. Untuk rendering, saya mengambil MathJax, meskipun mungkin masuk akal untuk menyimpan skrip js, tetapi ini untuk pembaruan di masa mendatang.
Nah, itu saja, sekarang semua ekspresi yang diwarisi dari antarmuka ini akan ditampilkan dengan indah. Ini adalah tampilannya di C #:
Apa sebenarnya yang terjadi disini?
1. extension-
2.
3.
ToEntity(),
2.
3.
Karena Jupiter ditujukan untuk potongan kecil kode yang tidak harus mengikuti persyaratan desain apa pun, F # lebih cocok untuk ini. Oleh karena itu, seperti yang jelas dari tangkapan layar di awal artikel, ini juga didukung. Misalnya, solusi persamaan sekolah terlihat seperti ini:
Rencana masa depan
Saya penggemar berat .NET, tetapi saya juga sangat menyukai Jupyter. Oleh karena itu, Interactive membuat saya sangat senang, dan saya bergegas membuat dukungan Interactive untuk AngouriMath untuk menampilkan ekspresi di LaTeX. Tapi lebih jauh - lebih menarik. Saya sedang berpikir untuk melakukan sesuatu dari tipe
Entity.Plot()yang akan segera menampilkan grafik fungsi. Untuk kasus penggunaan sederhana, saya pikir sepotong sangat dibutuhkan.
Jika Anda ingin mencoba tanpa menginstal apa pun dari yang diperlukan, Anda dapat melihat-lihat di sini:
Terima kasih atas perhatian Anda! Demikian catatan singkat.
Tautan
1. Jupyter - lingkungan browser yang nyaman untuk pemrograman interaktif
2. .NET Interaktif - hal yang sangat brilian, berkat itu Anda dapat menggunakan dotnet di Jupiter
3. AngouriMath - perpustakaan matematika yang saya tulis pembungkusnya untuk latech
4. MyBinder - demo untuk pemalas