Как я могу отобразить шрифт в стиле Latex с помощью расширения Jupyter Notebook Extension в VS Code?

Я делаю домашнее задание, используя модуль Jupyter Notebook Extension и Sympy для Python в VS Code. Я пытаюсь отобразить уравнения латексным шрифтом, но это не работает так, как я себе представлял. Есть ли кто-нибудь, кто может догадаться, в чем проблема? Я добавил захваченные изображения, связанные с проблемой.

Я использую

  • Код VS 1.52
  • Расширение для ноутбука Jupyter v2020.12.414227025
  • Расширение Python v2020.11.371526539

Спасибо и хорошего воскресенья!

Когда я набираю случайное уравнение, как показано ниже, оно отображается в этом стиле

Однако, когда я ввожу определенное уравнение, которое нашел в Интернете, оно отображается правильным латексным шрифтом.


person Sang MuMu    schedule 13.12.2020    source источник


Ответы (2)


Это правильный вывод LaTeX для этого выражения. Это результат интеграла, отображаемого в терминах гипергеометрической функции:

https://en.wikipedia.org/wiki/Generalized_hypergeometric_function

Возможно, вы не узнаете функцию, но это обычная математическая функция, и вы можете подставлять значения в is и оценивать ее и т. Д .:

In [17]: antiderivative = integrate(Si(x)/x, x)

In [18]: antiderivative
Out[18]: 
       ⎛              │   2 ⎞
   ┌─  ⎜   1/2, 1/2   │ -x  ⎟
x⋅ ├─  ⎜              │ ────⎟
  2╵ 3 ⎝3/2, 3/2, 3/2 │  4  ⎠

In [19]: antiderivative.subs(x, 1)
Out[19]: 
 ┌─  ⎛   1/2, 1/2   │     ⎞
 ├─  ⎜              │ -1/4⎟
2╵ 3 ⎝3/2, 3/2, 3/2 │     ⎠

In [20]: antiderivative.subs(x, 1).n()
Out[20]: 0.981810799391358

Многие обычные математические функции могут быть выражены в терминах гипергеометрических функций, а иногда их можно упростить до чего-то более узнаваемого:

In [27]: hyper([], [S(1)/2], -x**2/4)
Out[27]: 
     ⎛    │   2 ⎞
 ┌─  ⎜    │ -x  ⎟
 ├─  ⎜    │ ────⎟
0╵ 1 ⎝1/2 │  4  ⎠

In [28]: hyperexpand(_)
Out[28]: cos(x)

Полезно иметь возможность переписать интеграл в терминах гипергеометрических функций, потому что процедура, которая может интегрировать гипергеометрические функции, может работать для большого количества возможных подынтегральных выражений. Он особенно полезен для специальных функций (таких как Si), не требуя специальных правил для каждой новой функции, которую мы, возможно, захотим интегрировать. В SymPy есть специальная процедура интеграции meijerg, которая делает это с помощью еще более общей функции Meijer G:

https://en.wikipedia.org/wiki/Meijer_G-function

SymPy использовала процедуру meijerg для этого интеграла, хотя похоже, что результат был преобразован в гипергеометрические функции, а не в функции G. Иногда можно упростить результат определенного интеграла, даже если он вычисляется с использованием первообразной, которая может быть выражена только в терминах гипергеометрических / G-функций.

В случае этого интеграла, хотя это не похоже, что SymPy может выразить его с помощью других функций. Я также проверил WolframAlpha, который также дает менее простое (но эквивалентное) представление с точки зрения гипергеометрических функций:

https://www.wolframalpha.com/input/?i=integrate+Si%28x%29%2Fx

person Oscar Benjamin    schedule 13.12.2020
comment
О Конечно! Я должен был посмотреть внимательнее - person Oscar Benjamin; 14.12.2020

Я не знаю, почему у вас есть два разных типа вывода (Unicode и LaTeX), но я могу сказать вам, как вы можете быть уверены, что рендеринг LaTeX является неизменным по умолчанию.

from sympy import *
init_printing(use_latex=True)
...
person gboffi    schedule 14.12.2020
comment
Я пробовал этот метод, но он тоже не работает; (Но спасибо, ребята, за вашу помощь, ребята !! - person Sang MuMu; 14.12.2020