小编Com*_*con的帖子

Jython不会导入用户定义的类; ImportError:没有名为******的模块

现在我已经把头撞到了墙上几天,试图解决这个问题.我一直在开始使用Jython进行快速原型设计.我已经看到了一个看起来非常基本的问题,但我似乎无法超越它.

我是在JythonBook的10章,并击中了问题,当我试着写,并使用了"滩"级(在标有"清单10-1"一节开始).我可以导入并使用java.lang.Math就好了,但无法让"Beach"类为我的生活工作.我写了Beach类,把它变成了一个jar并改变了权限,

jar cf Beach.jar Beach.java chmod 777 Beach.jar

并确保Beach.jar和Beach.java都在当前的工作目录中,以及/ Library/Java/Extensions /(我在Mac上) - 没有骰子.

我只是想不出可能是什么问题.我希望有人会在这里看到我错过的东西.

为了您的方便,我认为从"实时"Jython会话中可能有用的一切:

$ jython
Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) 
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_24
Type "help", "copyright", "credits" or "license" for more information.
>>> ## First try importing "Math" from Java:
>>> from java.lang import Math
>>> Math.max(4, 7)
7L
>>> ## Try System from Java:                
>>> javasystem.out.println("Hello")
Traceback (most recent call last):
  File "<stdin>", line 1, in …
Run Code Online (Sandbox Code Playgroud)

jython

9
推荐指数
1
解决办法
5918
查看次数

尝试实例化 NumPy RandomState 时出现 Numba 错误

我有一门课,我想用 Numba 加速。该类通过简单地使用特定种子创建 NumPy 的 RandomState 实例为每个实例使用“随机数生成器”(因此我可以稍后复制我的工作)。当我使用 Numba 的 autojit 时,我收到一个奇怪的错误,这在“常规”Python 中不会出现。

幸运的是,这种行为非常容易复制。这是一个说明错误的简单示例:

from numpy.random import RandomState
from numba import autojit

# ------- This works in "regular Python" ------------

class SillyClass1(object):
    def __init__(self, seed):
        self.RNG = RandomState(seed)
    def draw_uniform(self):
        return self.RNG.uniform(0,1)

test1 = SillyClass1(123456)

test1.draw_uniform()

# Output:
# 0.12696983303810094


# The following code -- exactly the same as above, but with the @autojit 
# decorator, doesn't work, and throws an error which I am having a hard  
# time understanding …
Run Code Online (Sandbox Code Playgroud)

python numpy numba

5
推荐指数
1
解决办法
596
查看次数

使用scipy.integrate.quad时结果不连续

使用scipy.integrate.quad时,我发现了一个奇怪的行为。此行为也出现在Octave的quad函数中,这使我相信它可能与QUADPACK本身有关。有趣的是,使用完全相同的Octave代码,此行为在MATLAB中显示。

关于这个问题。我在数值上整合了各种边界上的对数正态分布。因为F是对数正态的cdf,a是下限,b是上限,所以我发现在某些情况下,

当b是一个“非常大的数字”时,integral(F,a,b)= 0,而

当b为np.inf时,integrate(F,a,b)=正确的极限。(或者只是Inf for Octave。)

以下是一些示例代码,以展示其实际效果:

from __future__ import division
import numpy as np
import scipy.stats as stats
from scipy.integrate import quad

# Set up the probability space:
sigma = 0.1
mu = -0.5*(sigma**2)  # To get E[X] = 1
N = 7
z = stats.lognormal(sigma, 0, np.exp(mu))


# Set up F for integration:
F = lambda x: x*z.pdf(x)

# An example that appears to work correctly:
a, b = 1.0, 10
quad(F, a, b)
# …
Run Code Online (Sandbox Code Playgroud)

python matlab fortran numpy numerical-methods

2
推荐指数
1
解决办法
636
查看次数

标签 统计

numpy ×2

python ×2

fortran ×1

jython ×1

matlab ×1

numba ×1

numerical-methods ×1