标签: sage

Cython错误:未声明的名称未内置:数组

我正在Sage Cell Server中编译此Cython代码,但出现以下错误。

undeclared name not builtin: array
Run Code Online (Sandbox Code Playgroud)

它在Sage Notebook中显示相同的错误。我认为它不能识别numpy,array但这很奇怪,因为我已经导入了numpy。

 cython('''
  cimport numpy as np
  ctypedef np.int DTYPE
  def computeDetCy(np.ndarray[DTYPE, ndim=2] matrix):      
      return determ(matrix,len(matrix))

cdef inline int determ(np.ndarray[DTYPE, ndim=2] matrix, int n):
cdef int det = 0
cdef int p=0
cdef int h
cdef int k
cdef int i=0
cdef int j=0
cdef np.ndarray[DTYPE, ndim=2] temp=np.zeros(4,4)
if n == 1:
    return matrix[0][0]
elif  n == 2:
    return matrix[0][0]*matrix[1][1] - matrix[0][1]*matrix[1][0]
else:
    for p in range(0, n): …
Run Code Online (Sandbox Code Playgroud)

numpy cython sage

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

在同一页面中利用Sage和IPython笔记本?或者,而是组合它们?

我是Sage和Python的新手.为了编写sage程序,我去了sagemath cloud,当我尝试创建一个新文件时,我有两个选项:sage工作表和IPython笔记本.我注意到它们都有着色和缩进.但我想知道:有没有什么方法可以同时利用它们?我怎样才能将它们组合在一起?例如,在IPython笔记本中,如何让它理解sage命令?

为了给出上述明确而具体的例子,在Sage教程中,有因子(-2007).如果你在sage工作表上运行它,它会给出(如你所料),-1*3 ^ 2*223,但在IPython笔记本中,它显示'factor'未定义.如何在IPynb中编写因子(-2007),运行它,得到-1*3 ^ 2*223?

我正在Windows 8,64位环境中工作,只要它是相关的.

python sage ipython-notebook

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

使用SAGE进行二进制字段反演

我对有关有限现场操作的SAGE文档感到非常沮丧。我想做的是以下几点:

在具有不可约多项式x ^ 8 + x ^ 4 + x ^ 3 + x + 1的GF(2 ^ 8)中,我想找到元素x ^ 8 + 1的逆。如何在SAGE中做到这一点?

python sage finite-field

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

如何正确导入鼠尾草?

编辑:我需要澄清一下,我想将鼠尾草作为库导入,以在鼠尾草外壳的Python脚本之外使用,因为我需要它在Django上作为服务器运行。

我必须从源头编译贤哲吗?

我一直在尝试将sage用于我的python脚本。

代码如下:

#!/usr/bin/env sage -python
from django.shortcuts import render
from django.http import HttpResponse
import sys
from django.http import HttpRequest
from django.template import RequestContext, loaders
from sage.all import *

def index(request):

    querystring = request.GET.get('querystring')

    return HttpResponse(querystring)
# Create your views here.
Run Code Online (Sandbox Code Playgroud)

但是我遇到一个错误:没有名为sage.all的模块

我没有遇到麻烦

#!/usr/bin/env sage -python
import sys
from sage.all import *
var('x')
print integrate(x,x)
print latex(integrate(sin(x),x))
Run Code Online (Sandbox Code Playgroud)

从命令行 ./sage -python /path/to/script.py

所以我不明白为什么我不能导入鼠尾草...

目录“ sage”位于python路径中,位于我要在其中使用的views.py文件旁边,我尝试将其放置在各个不同的位置,或将其附加到sys.path中,以徒劳无功。非常感谢任何帮助,这是一个非常重要的项目。我正在尝试将Sage导入Django项目。

编辑:我不使用./sage -python运行第二个,而是在Django localhost服务器上将它作为views.py运行。

python django import module sage

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

在Sage上使用密码系统NTRU的KEM/DEM

首先,我必须说我使用Sage数学的知识非常有限,但我真的想改进并能够解决我遇到的这些问题.我被要求实施以下内容:

使用密码系统NTRU的Sage实现和库"加密"来构建具有128位安全性的KEM/DEM系统,生成128位的密钥,并且在DEM阶段,使用128位的密码AES.

在尝试解决时,我遇到了sage中NTRU-Prime的实现,并希望用它来解决这个问题:

我的遗产:

p = 739; q = 9829; t = 204
Zx.<x> = ZZ[]; R.<xp> = Zx.quotient(x^p-x-1)
Fq = GF(q); Fqx.<xq> = Fq[]; Rq.<xqp> = Fqx.quotient(x^p-x-1)
F3 = GF(3); F3x.<x3> = F3[]; R3.<x3p> = F3x.quotient(x^p-x-1)

import itertools

def concat(lists):
    return list(itertools.chain.from_iterable(lists))

def nicelift(u):
    return lift(u + q//2) - q//2

def nicemod3(u): # r in {0,1,-1} with u-r in {...,-3,0,3,...}
    return u - 3*round(u/3)

def int2str(u,bytes):
    return ''.join([chr((u//256^i)%256) for i in range(bytes)])

def str2int(s):
     return sum([ord(s[i])*256^i for i in …
Run Code Online (Sandbox Code Playgroud)

python cryptography aes sage

5
推荐指数
0
解决办法
297
查看次数

难以用圣人解决递归积分

我最近问了一个关于math.stackexchange的问题,关于如何计算交叉超立方体和超球面的体积,我得到了一个非常有用的答案.

现在,我正在尝试利用sage最低维度生成一些分析解决方案.由于我对sage的非常天真的理解,谷歌的帮助和一些试验和错误,我提出了以下解决方案:

from sage.symbolic.integration.integral import definite_integral

R = var("R")
assume(R>0)
x = var("x")

V0(R) = 1
V = [V0]

for i in range(1,4):
    vlast = V[i-1]
    vnew(R) = definite_integral( vlast(R=sqrt(R**2 - x**2)),x,-min(R,1),min(R,1))
    V.append(vnew)        

print(V)
Run Code Online (Sandbox Code Playgroud)

但是,输出并不是我预期的结果:

[R |--> 1, R |--> 2*R, R |--> pi*R^2, R |--> 4/3*pi*R^3]
Run Code Online (Sandbox Code Playgroud)

Sage非常好地计算了n维球体的体积,但它在某种程度上没有发现结果函数将在R中分段定义的事实.

我如何使用这个min功能有什么问题吗?我如何定义(或命名)我的变量有什么问题吗?我搞砸了哪里?

python symbolic-math sage

5
推荐指数
0
解决办法
190
查看次数

在 sagemath 中定义函数的不同方式

我想知道为什么这两个“程序”产生不同的输出

    f(x)=x^2
    f(90).mod(7)
Run Code Online (Sandbox Code Playgroud)

    def f(x):
        return(x^2)
    f(90).mod(7)
Run Code Online (Sandbox Code Playgroud)

谢谢

python sage

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

在 VS code 上使用 sage 时如何获得 python 配色方案?

目前,我在处理文件时将其命名为 .py,然后在需要执行时将其更改为 .sage。有没有办法在 VS code 上获取 sage 文件的 python 配色方案?

有一个名为 SAGE 企业管理的扩展声称可以做到这一点,但说明有点不清楚:

它说:

Create a x3-code named folder inside your ~/.vscode/extensions/; Copy all files in yours recent created folder; Reload VS Code and enjoy;

我尝试将我的 sage 文件复制到该文件夹​​中,并将 x3-extension 的内容复制到该文件夹​​中,但这两种方法都不起作用。

ide color-scheme editor sage visual-studio-code

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

在交互模式下运行脚本之前,如何将脚本传递给 Sage?

在我的 Python 工作流程中,我通常使用该-i标志来打开 Python 解释器,该解释器首先执行我正在处理的脚本,然后允许我与其交互。例如,在test.py

#!/usr/bin/env python
print("Hello World")
x=2
Run Code Online (Sandbox Code Playgroud)

当我python -i test.py从命令行运行时,我收到以下输出:

Hello World!
>>> 
Run Code Online (Sandbox Code Playgroud)

交互模式已启用,但脚本中所做的所有定义都可供我使用。键入x将产生2.

Sagemath 是否有类似的流程?我已经尝试过该-c标志,但sage -c "attach('test.sage')"加载我正在处理的模块后该命令无法进入交互模式。

理想情况下,会有一种比使用expect概述的解决方案更简单的解决方案,但如果这确实是最佳解决方案,那么如何使用expect来使 Sagemath 在加载特定文件后启动交互式会话?

python interactive sage

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

Sublime 中 .sage 的语法高亮

我开始为扩展名为 .sage 的 sagemath 编写一些代码。我在 Sublime 文本编辑器上写这些。但是 .sage 文档没有语法突出显示。Sage 主要基于 Python。那么有什么方法可以让 sublime 在使用 .sage 文件时使用 Python 语法。?

感谢是提前的。

syntax-highlighting sage sublimetext sublimetext2 sublimetext3

4
推荐指数
1
解决办法
1301
查看次数