小编Ben*_*dik的帖子

使用Jupyter笔记本进行Java

我已经在我的Python项目中使用了很多Jupyter笔记本,但是现在我必须在Java中使用它.所以我想知道我是否可以让Jupyter使用Java?

经过一番搜索后,我想我明白你可以为其他语言安装不同的内核,里面有一个内核列表.但我在那里看不到Java.我认为有一个可行解决方案的原因是这款笔记本,显示了Java 9笔记本.有谁知道如何设置它?

如果重要的话我就在macOS Sierra上.

java jupyter-notebook

14
推荐指数
3
解决办法
2万
查看次数

Sympy-重命名表达式的一部分

说我已经定义了以下表达式:

from sympy import *
N, D, i, j, d = symbols("N D i j d", integer=True)
beta, gamma = symbols(r'\beta \gamma')
X = IndexedBase("X", shape=(N, D))

# r(i, j) = euclidian distance between X[i] and X[j]
r = lambda i, j: sqrt(Sum((X[i, d] - X[j, d])**2, (d, 1, D)))
expr = r(i, j)**2 + r(i, j)
Run Code Online (Sandbox Code Playgroud)

expr变量现在显示是这样的:

尽管对于这个最小的示例来说这很好,但是在较大的表达式中会变得很混乱。这确实阻碍了我查看以后在对所有r(i,j),导数等求和时发生的情况的能力。

我的问题:有没有办法告诉SymPy有关信息r(i, j),以便可以将其显示为以下形式:

同时在后续表达式中仍表现出与以往相同的行为?

我知道我可以制作r一个Function显示为所需的,但是随后在随后的计算中将无法正常工作(例如,派生将是抽象的,而不进行评估)。

任何帮助将非常感激!

python sympy

8
推荐指数
1
解决办法
191
查看次数

使用具有cppyy的Eigen库

我已经成功地使用cppyy为我正在研究的C++项目进行自动python绑定.我最近加入了Eigen库,但是我很难和cppyy一起使用它.有没有人有这方面的经验,或者知道我应该怎么做?

我有回购的以下结构(仅显示相关部分):

.
??? CMakeLists.txt
??? build
??? external
   ?? eigen
??? include
   ?? all .hpp files
??? src
   ?? all .cpp files
??? python
   ?? qmc.py
Run Code Online (Sandbox Code Playgroud)

这里external/eigenEigen GitHub回购的副本.该qmc.py文件是cppyy魔法发生的地方,它看起来像这样(在尝试添加Eigen之前,这个工作正常)

import cppyy
import tempfile
import os
import glob

try:
    current_dir = os.path.dirname(__file__)
except NameError:
    current_dir = os.getcwd()
source_dir = os.path.dirname(current_dir)
install_dir = os.path.join(source_dir, 'build')
include_dir = os.path.join(source_dir, 'include')
eigen_dir = os.path.join(source_dir, 'external', 'eigen')
print(current_dir, source_dir, include_dir, install_dir)

def cmake_run(build_type='Release', c_compiler='gcc', cxx_compiler='g++'): …
Run Code Online (Sandbox Code Playgroud)

c++ python python-c-api eigen

7
推荐指数
1
解决办法
392
查看次数

在没有 cabal 的情况下编译具有外部依赖项的 haskell 脚本

我对 Haskell 比较陌生,我意识到我可能会逆流而上,但尽管如此,我会问:

假设我有一个简短的 Haskell 脚本:

import Data.List.Split (splitOn)

main :: IO ()
main = do
  let orders = splitOn "x" "axbxc"
  putStrLn $ head orders
Run Code Online (Sandbox Code Playgroud)

如果我只使用标准函数,我可以用ghc <script.hs>. 因为我依赖split包提供splitOn功能,所以编译失败。

project.cabal现在,我可以毫无困难地使用和文件设置一个 cabal 项目,Setup.hs以便实际编译它。然而,对于独立脚本来说,这感觉像是很多额外的样板。

那么,有没有办法针对某些外部包编译单个 .hs 文件?类似于 Python 中的操作可以通过pip install something“将包安装到解释器中”来完成,即有没有办法将额外的包“安装到 ghc”中,这样​​我只需要向 ghc 提供一些额外的链接标志?

haskell cabal

7
推荐指数
2
解决办法
1257
查看次数

标签 统计

python ×2

c++ ×1

cabal ×1

eigen ×1

haskell ×1

java ×1

jupyter-notebook ×1

python-c-api ×1

sympy ×1