显示带有标签的帖子圣人显示所有帖子
显示带有标签的帖子圣人显示所有帖子

2018年4月24日星期二

SageMath GSoC 2018项目

我们很高兴地宣布我们的名单谷歌代码夏令营2018年项目!感谢所有参与的人,所有的学生,导师,当然还有谷歌! 


赛·哈什·汤多克(David Coudert和Dima Pasechnik):

向图形模块添加SPQR树

在本项目中,我们的目标是通过实现查找三连通子图的功能来扩展Sage中的图论库,这将无向图划分为3连通分量并构造相应的SPQR树。这些模块可以在以后用作一些图问题的预处理,例如哈密顿圈、旅行商问题。



Meghana M Reddy(David Coudert和Dima Pasechnik):

在Sage Math的图形模块中添加SPQR树

该项目的目的是编码线性时间算法,用于将图划分为3个连通分量,并构建相应的SPQR树。此外,该算法还可以作为其他一些图形问题的子程序,如无弦图的识别、哈密顿圈等。



Filip Ion(约翰·罗森基勒):

数据库和代码边界

以下提案详细介绍了SageMath的编码理论组件的一些可能改进。我们的目标是为低于最大范围的每个参数选择建立预计算边界和线性代码优化示例的数据库。



Raghukul Raman(Travis Scrimshaw和Benjamin Hutz):

品种的理性点

本项目旨在实现在品种上寻找有理点的基本算法。经典代数簇定义为一个数域上多项式方程的解集。代数簇的有理点是给定域(如果未提及有理域)中方程组的解。许多数论可以被视为对代数簇的有理点的研究。数论的一些伟大成就相当于确定特定曲线上的有理点。例如,Fermat的最后一个定理等价于这样的陈述:对于一个整数n≥3,Qare上P2中曲线xn+yn=zn的唯一有理点是明显的。这些问题的常见变体包括确定高达一定界限的所有V(K)点的集合。本项目的目的是实现一些基本的有理寻点算法(筛选模素数和枚举),并将其扩展到product_projective_space方案。



达里奥·阿斯普雷内(迪玛·帕西尼克)

使用Weisfeiler-Lehman算法检查图的同构

目前,SageMath通过一个内部包通过一个相应的方法检查图形同构,该方法称为isomorphic,并包含在sage.groups.perm_gps.partn_ref.refinement_graphs中。该方法不仅非常复杂,而且没有太多关于其内部工作的文档,最后一次重要更新是在2011年。
该项目旨在创建一个新的包,该包使用Weisfeiler-Lehman(WL)算法层次结构的一个成员,实现一种有效的实际启发式方法,以检查两个图是否同构。过去曾尝试执行相同的任务(但范围较窄,仅限于实现WL算法的二阶版本),但发现代码中包含错误,并且从未从代码库中实现/删除(请参阅Trac#10482)。
据我所知,这将是k-WL的第一个开源实现,因为k>1。


2017年5月5日星期五

SageMath GSoC 2017项目

6个GSoC SageMath项目

在过去的几个夏天里,SageMath成功管理了许多谷歌代码夏令营项目。今年我们又回来了很高兴有六个项目:


实现拟阵类和绘图改进

(扎卡里·格什科夫/斯特凡·范·兹瓦姆)
这个项目试图在SageMath中实现几个常见的拟阵类,以及它们的显示和相关计算的算法。特别是图形拟阵类将使用具有代表性的图来实现,该图具有Whitney切换和次要操作的方法。这将伴随着对图论库的改进,与拟阵相关的方法将支持多重图。该项目的其他模块包括改进了秩3拟阵的绘制以消除伪共线性,使用SageMath的群论库计算拟阵的自同构群,以及基于现有trac票据的更快的次要测试。

扩展动力系统的功能

(丽贝卡·劳伦·米勒(Rebecca Lauren Miller)/保罗·菲利(Paul Fili)和本·哈茨(Ben Hutz)

作为sage-dynamics社区的一员,研究人员为他们想要添加的算法和功能编制了一份愿望清单。我想缩短我们的愿望列表。对于我的项目,我将从SAGE Dynamics Wiki中完成对SAGE的一些所需添加。我将实现Well’s Algorithm,加强cannonical_height中的数值精度,并实现更高维度的reduced_form。

鼠尾草复杂动力学的改进

(本·巴罗斯/亚当·托斯利和本·哈茨)
我想实现三件主要的事情来改进Sage在复杂动力学领域的功能。项目详情总结如下:
  • 复杂动力学图形包:将复杂的动力学软件(如Mandel)集成或实现到Sage中。这将通过为Sage创建可选包来完成。如果有足够的需求,该套餐可能在某个时候成为Sage的标准套餐。
  • 蜘蛛算法:蜘蛛算法的目标是用指定的组合函数构造多项式。例如,我们可能想找到一个周期轨道为7的多项式。蜘蛛算法为我们提供了一种高效计算此多项式的方法。我计划在Sage中实现此算法。
  • 胁迫:如果你有一个在Q上定义的映射,你应该能够在C上取一个点的图像(即,在某个地方你有明确定义的嵌入),而不必使用命令“change_ring()”。类似的东西也适用于Sage中的多项式,但不适用于形态/方案。

无向图和有向图模分解的线性时间实现

(Lokesh Jain/Dima Pasechnik)
该项目旨在为图和有向图的模块化分解提供线性时间实现。模块分解是将图形分解为模块。模是顶点的子集,是图中连通分量的推广。以一个模X为例。对于任何顶点v∉X,它要么与X的每个顶点相连,要么不与X的所有顶点相连。模的另一个性质是,一个模可以是另一个模的子集。已经发表了各种用于图的模块化分解的算法。本项目的重点是可以实际实现的线性时间复杂度算法。该项目进一步旨在使用为模块化分解而开发的模块来实现其他功能,如偏斜分区。斜划分是将图划分为两个顶点集,使得由一个顶点集形成的诱导图是断开的,而由另一个顶点集中形成的诱导图形是对第一个顶点集的补充。模块分解是图论中一个非常重要的概念,它有许多用例。例如,它已经成为解决优化和组合问题的重要工具。

图和有向图的模分解

(玛丽亚·伊奥娜·斯皮拉科/迪玛·帕西尼克)
图的模分解是(di)图分解为连通分量概念的推广。它目前在Sage中的实现依赖于严重损坏的废弃C代码,急需用一些可以正常工作且速度不太慢的代码来替代。然而,其中一些过程的唯一开源实现要么是Java要么是Perl,因此对Sage来说并不是很有用。

注:细心的读者可能会注意到这些项目之间的相似之处。它们将根据图形类型进行拆分,并进行协调,以避免重叠,而是相互补充。

簇代数和箭矢表示中的可视化结构

(Bryan Wang/Travis Scrimshaw)
我的目标是实现簇代数和箭矢表示中几个关键结构的可视化。第一种是Auslander-Reiten箭袋,至少在A_n和D_n情况下是如此。第二个是集群范畴内的标记自同态颤动和突变,重点是a_n情况。第三个是A_n情形下的向下突变偏序集。这些功能不仅用于研究目的,而且还可以作为很好的示例来使用和学习。除了这些功能外,我还对实现量子簇代数项目的功能感兴趣。

祝你今夏一切顺利,感谢谷歌让这一切成为可能,并向所有未能成功的候选人致歉。。。

2014年8月18日星期一

《Sage》中的新组合设计——Nathann Cohen著

这是内森·科恩的客座帖子。 


Sage中的新组合设计

下面,这些图是将$K_{13}$(即13点上的完整图)分解为$K_4$的副本。选择两个你喜欢的顶点:它们在一个$K_4$中正好出现一次。


第二个图显示了将$K_{4,4,4}$(即$4\乘以3$点上的完整多部分图)转换为$K_3$的副本。从不同组中拾取两个您喜欢的顶点:它们在其中一个$K_4$中出现一次。




圣人已经非常擅长构建这种分解(一种特殊的组合设计)。这篇文章是关于他们的。

第一个对象属于一个名为平衡不完全块设计(或$(n,k)$-BIBD),定义为“集合$\mathcal S$,所有集合的大小都为$k$(此处$k=4$),因此集合$X$的任意一对点与$|X|=n$(此处$n=13$)正好出现在一个$\mathcal S$集合中”。

第二个属于横向设计(或$TD(k,n)$)其定义类似:考虑一个包含$n$顶点的$k$组(此处$k=3$)的集合$X$(此处$n=4$)。集合$\mathcal S$的集合(每个集合包含来自每个组的一个点)是$TD(k,n)$,如果来自不同组的任意两个点恰好出现在一个$\mathcal S$集合中。

组合设计的主要问题是要知道它们存在于哪里。这并不明显。Sage对此做了力所能及的事:

  • 如果您希望它构建一个$(14.4)$-BIBD,它会告诉您不存在。
  • 如果您想让它构建一个$(16.4)$-BIBD,它会告诉您存在一个。
  • 如果你想让它构建一个$(51,6)$-BIBD,它会告诉你,它只是不知道是否有一个(目前没有人更清楚)
示例如下:

sage:designs.balanced_ncomplete_block_design(14,4,存在=真)
False(错误)
sage:designs.balanced_ncomplete_block_design(16,4,存在=真)
真的
sage:设计.balanced_ncomplete_block_design(51,6,存在=真)
未知

对于开发人员(和设计爱好者)来说,游戏包括教Sage如何构建一些研究论文中出现的所有组合设计。BIBD和Transversal Designs在过去的几个月里付出了大量的汗水。

对于Transversal设计,游戏有点不同,因为我们知道只要$TD(k,n)$存在,就会存在$TD。因此,游戏包括找到最大整数$k_n$,这样$TD(k_n,n)$就存在了。这个游戏并不新鲜,也不简单:在组合设计手册中,你可以找到这样的$k$到$n=10000$的表格(参见在这里).

Sage的优点是它不仅声称这样的设计存在:它还构建了它,并且没有比这更好的存在证明(检查组合设计是否有效是非常迅速的)。这个其他幸好没有通用的数据库来存储这些数据(手册不是每晚更新/打印的),通过教授Sage研究人员发现的所有新设计,我们建立了这样一个数据库。它已经包含了《手册》印刷时未知的设计。

最后其他-其他Sage的优点是它很快就能告诉你那些设计在哪里来自事实上,横向设计领域中最强大的结果是“如果存在$TD(k_1,n_1)$、$TD,(k_2,n_2)$,…和$TD。如何反转这些函数从来都不太清楚:如果你想构建一个$TD(k,n)$,哪个整数$k_1,。。。,k_c,n_1,。。。,你应该选nc$吗?

圣人知道。它必须知道这一点,才能创建这些设计。你可以在里面找到这些数据。很快,我们将教它给你提供论文的参考书目,你可以在其中找到正确的结构来生成你想要的$TD(k,n)$。我们将提供正确的参数。世界将会和平。

在我们分手之前有几件事:

  • 横向设计(TD)、正交阵列(OA)和互正交拉丁方(MOLS)都是等效对象。
  • 这些天来,我们编写了大量的横向设计代码,所以希望所有这些都能快速改进。
  • 你可以了解Sage对组合设计的了解就在这里
最后,有太多的组合设计需要一个人学习。如果您喜欢组合设计,请加入我们:文森特·德勒克索瓦,你,和我有代码一起写。如果你知道Sage忽略的相关数学结果,那么告诉我们:如果没有数学知识朱利安·阿贝尔萨奇还不知道一切。

吃fuuuuuu uuuunu uuu u uuun!

内森

2014年4月22日星期二

Sage GSoC 2014项目

今年,圣人很高兴宣布它将运行五次谷歌代码夏令营项目。欢迎大家来到圣人社区,并祝你的夏天一切顺利,充满了令人兴奋的项目;-)

编辑:柠檬水相关项目包括此处列出

尼基尔·彼得·拉吉(Volker Braun):

Sage Android应用程序的改进

该项目旨在通过改进现有应用程序内部结构和外部用户体验,前者通过替换并重做应用程序的某些模块(JSON解析、HTTP请求和异常处理),后者通过重新设计UI使其符合符合Android Design的最新标准和规范,以及为代码输入添加额外的功能,如语法突出显示和用于记录和存储自定义插入的选项。

阿米特·贾马达尼

结理论实现

该项目主要处理各种链接的实现、节点表示和各种相关不变量的计算。该项目的主要目的是实现:Knots和Links的不同表示之间的转换,仅举几个例子:高斯码到Braid Word,Braid Word到DT码,高斯码到DT码。各种不变量的实现:亚历山大多项式、康威多项式。Stiefert矩阵,琼斯多项式

贾扬特·阿普特(斯特凡·范·兹瓦姆)

高效的类特定成员身份检查、扩展和可视化

本提案的第一个目标是对各种类的成员关系和执行单个元素的拟阵利用给定拟阵知识的拟阵扩展属于某一类,具有较低的复杂性。我们还建议可视化技术的实现及拟阵的应用多源网络码枚举形式的理论网络编码问题是信息论。

西蒙·斯派塞(威廉·斯坦、乔纳森·博伯)

Sage中椭圆曲线的高效精确解析秩计算

我的项目是在Sage中实现精确计算椭圆曲线模标准猜想的解析秩的功能,与现有的分析秩估计方法相比具有更好的缩放性。这将需要编写(大量)新的Python和Cython代码,以及将现有代码移植到Sage代码库中。

丹尼尔·贝尔(伊凡·安德鲁斯饰)

iSage-改进Sage iOS应用程序

Sage iOS应用程序有几个方面需要更新、改进或实施。我建议开发与应用程序中的几个Sage服务交互的能力,以及刷新应用程序的用户界面。


2013年11月6日星期三

Sagemath Cloud何时达到100000个用户帐户?

象征云是的在线环境计算数学。注册一个帐户,登录,你的浏览器就会将你学习代数、微积分、数学、统计学、数字和博弈论、物理、化学和所有其他定量科学(计算方面)所需的几乎所有内容转换为你所需的内容。它是围绕在适当的Linux环境中提供的各种工具和实用程序构建的。所有文件都可以与合作者共享并实时编辑,而无需相互干涉。哦,等等,还有一个LaTeX编辑:如果你了解LaTeX,定性科学也包括在内;-)

但请注意,这篇帖子只讨论第一个:账户。下面,我将解释我是如何创建的本页下面的图以及我是如何让它每小时自动更新的——全部由SMC完成!

SMC客户随时间变化


Sagemath Cloud非常公开其服务器上发生的事情。这个统计链接为您提供机器当前总负载的原始数据。在过去的几周里,我做了如下工作:每小时我都会下载这个stats-json文件,对其进行解析,积累一些有趣的数字,并将处理后的数据存储在CSV文件中。

我在SMC中完成了所有这些,因为它允许您运行自己的crontab软件文件夹。克罗恩定期检查所有类型的文件以确定是否有工作要做。只需在您自己的crontab文件中输入一行神奇的命令,只要您告诉它这样做,就会运行给定的命令。您不必登录!

就我而言,情况是这样的:
首先,编辑crontab文件:
$crontab-e
然后输入此行:
0****python$HOME/get.py

这个$主页很重要,因为您必须指定脚本所在的完整路径。(顺便说一句,如果必须在SMC服务器重新启动时启动某些东西,请使用@重新启动描述符)

那么,什么是获取.py做什么?它使用了奇妙的请求Python库检索和解析stats url并提取一些数据。然后在CSV文件中追加一行。

两分钟后(crontab行以“2”开头),调用另一个脚本来处理这个CSV文件。它通过读取列熊猫,正确地将日期解析为时间序列,并允许我用它进行各种分析、转换和绘图。例如,上面显示的绘图将原始时间序列图与statsmodels完成OLS拟合对于所选的时间范围(其中它看起来“平坦”)。我们可以清楚地看到增长趋势!更重要的是,到目前为止,增长率在增加,因此我们将指数增长阶段视为正常开始阶段的一部分后勤增长

其他地块在此统计页面上显示聚合的时间序列数据。例如,并发连接数的曲线图也在增加,这保证了SMC的扩展性。
与SMC的并发连接
在这个统计页面上,HTML内容中还有一些“动态”字段。这是由金贾2这样,模板“stats.tmpl”包含HTML代码和“mustache”样式的变量。Jinja2使用一些变量呈现此模板,仅此而已。

将jinja2导入为j2env=j2.Environment(加载程序=j2.FileSystemLoader(“.”))stats=env.get_template(“stats.tmpl”)数据={'日期':“%s UTC”%datetime.utcnow(),“recent_data”:总计.ix[-24:].to_html()}输出为open(“stats.html”,“wb”):output.write(stats.render(**数据))
脚本的最后一步是将文件实际发布到Web服务器。这相当直截了当。首先并且只有一次,通过ssh-密钥没有密码,然后使用ssh-copy-id-i~/.ssh/id_dsa.pub名称@服务器复制你的钥匙。由于远程服务器知道您的身份,后续的ssh连接将在没有任何问题的情况下建立。我在用供应链计划要复制文件,请执行以下操作:scp*.png stats.htmlname@远程服务器:~/target/dir/

最后但并非最不重要的一点是,SMC什么时候才能达到100000用户?在不到6天的时间里,应该会突破10000大关,我希望这一趋势继续朝着上升的方向发展。

2013年5月27日星期一

Sage宣布3个GSoC项目

圣人很高兴宣布三个谷歌代码夏令营2013年的项目。他们专注于符号函数的速度改进,简化了Debian/Linux和泛在平台上的分发和安装过程Sage在Android平台上的可访问性。


数学函数库

埃维亚塔·巴赫–加拿大温哥华不列颠哥伦比亚大学
(导师:Flavia Stan,后备:Burcin Erocal)


圣人与多个第三方库(如MPFR、GSL、,GP/PARI、mpmath和Maxima,用于特殊功能。这些后端之间存在重大差异同一表达式的数值逼近性能。例如,初始基准测试揭示了使用SciPy的spherical_bessel_J(1,5.2)比使用马克西马。

该项目有以下目标:
  1. 发展一个基准测试框架,用于确定应该使用哪个后端默认对特定域上的特殊函数求值,
  2. 为所有特殊功能创建符号包装,这些功能可以通过Sage中包含的包进行数值评估,
  3. 创造广义超几何函数的数据结构及其扩展获得广义表示的符号包装器尽可能使用超几何函数,
  4. 实施完整函数闭包性质的下一步改进Sage中特殊功能的符号处理。


Sage Android应用程序的整体改进

拉斯米·埃拉斯马尔
(导师:Volker Braun,后备:Harald Schilly)


虽然已经有一些现有的工作,但Sage仍然不容易从Android平台访问。Sage Cell客户机/服务器基础设施是在服务器上运行Sage并反馈结果的现有步骤。该提案的目的是修复、改进和更新Sage Android应用程序,以包括新的特性和功能,以及改进的界面以及提高了可用性。Android的新“Holo”风格,共享计算和结果,还有更多等待在Sage的Android上实现。


让Sage为Linux发行版做好准备

Felix Salfelder–德国法兰克福歌德大学
(导师:托比亚斯·汉森,朱利安·普伊特(Julien Puydt)、杰伦·德梅耶(Jeroen Demeyer)和约翰·帕尔米耶里(John Palmieri)

这个该项目的目的是分离Sage的构建过程(“软件”)。目标是构建系统适用于Sage以及任何GNU/Linux为Sage运送依赖项的分发。分配Fedora和Debian已经发货或计划发货Sage包。这个该项目是在GNU/Linux中制作Sage包的重要一步分配可行。



圣人热烈欢迎三位新同学,并祝他们一切顺利,学习新知识,对圣人的未来发展产生影响!

2013年4月8日星期一

谷歌2013年夏季代码的圣人部分

好消息,就像去年一样,Sage再次成为谷歌代码之夏的一部分。这意味着,在4月22日19:00 UTC之前,学生可以提交申请,导师将对其进行审查并进行匹配。

请与未来的学生分享这一点,或考虑今年成为一名导师!

链接:

2013年3月19日,星期二

鼠尾草5.8

鼠尾草5.8已经是释放,下载它在这里

此外文档页面已更新以反映新的主题教程。我强烈建议浏览所有这些主题了解更多关于Sage不断扩大的范围。

2012年11月30日星期五

Mathematica 9的R集成与Rpy2


关于“Mathematica 9的新增功能:内置R集成"
要了解发生了什么,请打开示例:分层聚类

这篇帖子主要是关于如何在Python中通过Rpy2集成R,因此在Sage中也是如此。

首先你应该注意到两个平行世界的冲突。MMA的“RSet”命令转换并设置R范围内的变量y。这很好,但只需要一个局部变量就可以了吗?其次,字符串中的函数定义(用转义引号填充)也不是很好。难道没有更好的报价吗?

我想做的是用Rpy2实现类似的功能。是的,也有与此RSet函数等价的函数,您还可以计算字符串中的任意R代码(Python具有三重引号以避免转义引号)。但这并不是一切。您可以导入R包[从rpy2.robjects.packages导入进口]并将它们绑定到局部变量,例如,在它们上使用tab-completion。R函数可以直接引用,数据集可以与隐式转换器交换(例如numpy的标准->R的矩阵)等。

您可以在此处查看最终输出和代码:https://gist.github.com/4176508

除了Python中常见的导入/自内容外,我首先使用Numpy创建一个随机矩阵:


mdata=np.random.randn(10,5)

启用Numpy和R之间的自动转换:


从rpy2.robjects导入numpy2ri
numpy2ri.激活()



使用R的打印打印矩阵:

rprint=robj.globalenv.get(“打印”)
rprint(mdata)

            [,1]        [,2]        [,3]         [,4]        [,5]
 [1,]  2.1844065 -1.05401295  1.18316261 -0.356338229  1.55031790
 [2,]  1.2476473  0.89507075 -0.14576584  0.006899727  0.01350773
[3]-1.6416017-0.28180113 0.02784612 1.199042583 0.01272994
 [4,]  1.8645490  0.30993270  0.18107913  0.131505590  0.57083588
[5]1.23397427 0.73639680-0.42883124-0.436741492 0.43644592
 [6,] -0.1980955 -0.04463804 -0.11217381  1.768415923 -1.82884840
 [7,]  0.2943145  2.12648235  0.21068166  1.718289719  0.15711455
 [8,]  0.2453526  0.64922040  1.80518277  0.086208024  1.18789962
 [9,]  0.8229507  0.56227084 -1.72153433 -1.511514201  1.04610492
[10,]  0.1430900  0.03371198 -0.58992825  1.023002088 -1.47153121


……为了好玩,R’summary使用Python的打印功能打印:

打印r.summary(mdata)

  V1 V2 V3 V4版本
最小。:-1.6416分钟:-1.05401分钟:-1.72153分钟:-1.5115
第一数量:0.1687第一数量:-0.02505第一数量:0-35806第一数量:-02655
中值:0.5586中值:0.43610中值:-0.04216中值:0.1089
均值:0.6202均值:0.39326均值:0.04097均值:0.3629
第三个数量:1.2457第三个重量:0.71460第三个质量:0.20328第三个体积:1.1550
最大。:2.1844最大值:2.12648最大值:1.80518最大值:1.7684
版本5
最小值。   :-1.82885
第一数量:0.01292
中位数:0.29678
平均值:0.16746
第三数量:0.92729
最大。   : 1.55032  


…现在应用标签这一次,我展示了如何直接执行R代码,从而在R的全局命名空间中注入变量“y”:

从rpy2将robjects导入为robj
robj.globalenv['y']=多数据

r(“”)
数据名(y)<-b=“b”>
列表(粘贴(“g”,1:10,sep=“”),
粘贴(“t”,1:5,sep=“”)

""")


将其与MMA9中的操作方式进行比较!

---编辑
以下是如何在Python中实现相同功能的方法。这个粘贴命令替换为Python的列表理解列表命令来自R和mdata(多数据)转换为R对象以执行以下操作插槽分配


mdata=numpy2ri.numpy2ri(mdata)
将rpy2.rinterface作为ri导入
descr=ri.baseenv[“列表”](
ri、StrSexpVector(对于范围(10)内的_,['g%s'%]),
ri.StrSexpVector([not%s'%_for_in range(5)])
mdata.do_slot_assign(“dimnames”,descr)


第一个例子当然更令人愉快,但一旦您为R函数创建了一些整洁的别名(例如。list=ri.baseenv[“list”];strv=ri.StrSexpVector。。。),在Python中工作也不难。
---结束编辑

计算相关性和距离矩阵注意,R函数中的点,如作为.dist(),在Python中转换为下划线。这些圆点就像标识符名称中的普通字母一样,没有其他区别。

stats=导入(“stats”)

corrm=r.cor(r.t(mdata),method=“spearman”)
#不知道如何自动生成1-矩阵
robj.globalenv['corrm']=更正
distm=stats.as_dist(r(“1-corrm”))


rprint(腐蚀)
rprint(分发)


      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]  1.0 -0.3  0.1  0.5 -0.2  0.9  0.8  0.6  0.3   0.2
 [2,] -0.3  1.0  0.6  0.3  0.7 -0.4  0.0  0.1  0.2  -0.5
 [3,]  0.1  0.6  1.0 -0.1 -0.1 -0.3 -0.1  0.7  0.6  -0.9
 [4,]  0.5  0.3 -0.1  1.0  0.7  0.6  0.7 -0.1 -0.3   0.3
 [5,] -0.2  0.7 -0.1  0.7  1.0  0.0  0.3 -0.4 -0.3   0.2
[6,]0.9-0.4-0.3 0.6 0.0 0.9 0.3 0.1 0.6
 [7,]  0.8  0.0 -0.1  0.7  0.3  0.9  1.0  0.4  0.3   0.5
[8,]0.6 0.1 0.7-0.1-0.4 0.3 0.4 1.0 0.9-0.4
 [9,]  0.3  0.2  0.6 -0.3 -0.3  0.1  0.3  0.9  1.0  -0.3
[10,]  0.2 -0.5 -0.9  0.3  0.2  0.6  0.5 -0.4 -0.3   1.0



 

     1   2   3   4   5   6   7   8   9
2  1.3                               
3  0.9 0.4                           
4  0.5 0.7 1.1                       
5  1.2 0.3 1.1 0.3                   
6  0.1 1.4 1.3 0.4 1.0               
7 0.2 1.0 1.1 0.3 0.7 0.1
8  0.4 0.9 0.3 1.1 1.4 0.7 0.6       
9  0.7 0.8 0.4 1.3 1.3 0.9 0.7 0.1   
10 0.8 1.5 1.9 0.7 0.8 0.4 0.5 1.4 1.3



这个群集如下所示(注意:我必须在r上下文中执行“NULL”,因为Python的“None”似乎没有被转换)

hr=stats.hclust(distm,method=“complete”,members=r(“NULL”))

绘图也很简单。要绘制到X11以外的设备,必须更加具体。这个文档有很多例子。注意,唯一特殊的部分是mfrow公司=钢筋混凝土(1,2)

看着Wolfram的博客帖子,我真的不想了解MMA是什么“获取RPlot[…]“呼叫”数学RPlotWrapper“确实如此。

grdevices=导入('grdevices')
grdevices.png(文件=“mma9rpy2.png”,宽度=512,高度=300)
尝试:
r.par(mfrow=r.c(1,2))
r.图(hr,悬挂=0.1)
r.图(hr,悬挂=-0.1)
最后:
grdevices.dev_off()

grdevices.png(文件=“mma9rpy2-2.png”,宽度=512,高度=512)
尝试:
r.热图(mdata)
最后:
grdevices.dev_off()


最终结果:


…和热图:

最后一点,是的,我知道树状图的图像底部有一些模糊。我不知道为什么。也许有人能解决这个。。。是的,这是可能的,因为所有这些都是完全开源的:

td;博士:https://gist.github.com/4176508


2012年11月23日,星期五

Sage 5.4.1发布

Sage 5.4.1于2012年11月15日发布。 

它在中提供 源和二进制形式来自:
圣人(http://www.sagemath.org/)由志愿者开发,并结合 超过90个开源软件包。有关安装Sage的说明,请参见

下一页列出了Sage应该工作的平台:
如果您有任何疑问和/或问题,请向以下任何人报告 这些谷歌群组:
你也可以在freenode上的#sagemath中访问或发布你的问题 http://ask.sagemath.org/

以下15人参与了此次发布。其中,2人 他们对Sage的第一份贡献:

-艾丽·戴恩斯
-Benjamin Hutz[第一次捐款]
-Burcin Erocal公司
-戴维·洛弗勒
-德米特里·帕西尼克
-杰伦·德梅耶
-约翰·帕尔米耶里
-卡尔·迪特尔·克里斯曼
-肯尼思·史密斯
-保罗·齐默尔曼
-Punarbasu Purkayastha
-莎拉·奇索姆
-塞巴斯蒂安·古伊泽尔(Sebastien Gouezel)【第一份贡献】
-特拉维斯·斯克里姆肖
-Volker Braun

*发布经理:Jeroen Demeyer。

*在本次发布中,我们关闭了13张门票。有关详细信息,请参阅

 http://boxen.math.washington。edu/home/release/sage-5.4.1/tickets.html(票证.html)

关闭门票:

#13309:在OS X Mountain Lion上建立圣人[由Dmitrii Pasechnik审核]

并入sage-5.4.1.rc0:

#6367:Karl-Dieter Crisman,Kenneth Smith:polygon2d——多期: 文档中的输入错误,不应重命名[由Volker Braun审核]
#10803:Paul Zimmermann:real_roots中的关键错误[由Jeroen审核 德梅耶]
#12753:Benjamin Hutz:is_PrimeField导入错误[由David审核 洛弗勒]
#12859:Aly Deines:四元数代数“在一个素数上分支”[综述 作者:Sarah Chisholm]
#13382:Dmitrii Pasechnik:构建文档 对称组表示(s) [审核人:Volker Braun,Travis Scrimshaw]
#13533:Jeroen Demeyer:从doctests中删除“optional-gcc”[已审阅
作者:卡尔·迪特尔·克里斯曼(Karl-Dieter Crisman)、约翰·帕尔米耶里(John Palmieri)]
#13541:约翰·帕尔米耶里:将scipy更新为0.11.0[由德米特里审核 帕西尼克]
#13598:John Palmieri:使用“sage-c”时应定义“x” [由Punarbasu Purkayastha审核]
#13632:Sebastien Gouezel:修复符号参数的乳胶显示 功能[由Burcin Erocal审核]

并入sage-5.4.1.rc1:

#13407:杰伦·德梅耶(Jeroen Demeyer:Move sage-make_rerelative to sage-location) [由Dmitrii Pasechnik审核]
#13452:杰罗恩·德梅耶:重塑圣人身材[由德米特里审核 帕西尼克]
#13689:Jeroen Demeyer:修复从搬迁的Sage升级到GCC的问题 [由约翰·帕尔米埃里审核]

2012年11月15日星期四

发布Sage 5.4


我很高兴在博客上(并“重新发布”)看到Sage 5.4现在可用。

从发行说明中随机挑选了一些内容:

  • 笔记本电脑国际化
  • 4ti2接口
  • MathJax而不是jsMath
  • 索具配置和晶体路径之间的双射
  • 群代数范畴的新特征
  • 非交换对称函数
  • 将Cremona的椭圆曲线表更新为270000
  • 单个分区的Plancherel测度

……除了更多的错误修复之外,还有更多:-)

http://sagemath.org/download.html

我建议你跟随谷歌圣人+保持循环。

新镜:圣保罗大学

Sage刚在南美的圣保罗大学:http://linorg.usp.br/sage现在,巴西有两个,其他国家没有一个,但仍比只有一个SPOF要好。

2012年4月30日星期一

圣人去GSoC

今年圣人是的一部分GSoC公司第一年的课程。这是一个令人兴奋的新机会,可以让新的贡献者加入进来,并瞄准新的功能。我们收到了近60份项目建议书其中大约8个或更多都是非常优秀的。 我们有3个空缺要填补因此选择哪个项目真的很难。我们很好奇夏天会发生什么。


这些项目包括:

实际工作将于5月21日开始,所有三名学生都将通过博客或邮件列表定期更新,让其他人了解他们正在做的事情。邀请所有常规开发人员向他们提供反馈,并在他们遇到任何问题时提供帮助。

2010年3月6日,星期六

Sage笔记本中的锚

如果你有一本很长的Sage笔记本,并且你想快速跳转到某个标题或段落作为参考,请使用HTML锚。它们的工作原理如下:
  1. 必须在要跳转到的位置插入<a name=“anchorname”></a>标记。
  2. 通过<a href=“#anchorname”>一些文本引用它。
之后,只需点击一些文本链接。

要插入富文本和HTML,请使用富文本编辑器,该编辑器可通过<shift>+<单击蓝色插入条>。有一个“HTML”图标。或者,您可以使用html()功能:
html('<a name=“test”></a>')。。。

2010年1月21日,星期四

在我的Atom N270上网本上编译Sage

以下是我对编译的一些注意事项圣人在我的HP Mini 2140上安装Atom N270 CPU。我正在运行Linux Ubuntu 9.10。这成功编译了Sage 4.3和4.3.1,也可能适用于更高版本。

下载


#使用aria2,首先获取aria2
美元
sudo apt-get安装aria2
#转到本地目录,只需使用.metalink链接
$
阿里亚克http://服务器/路径/sage-x.y.z.tar.中继


#注意,aria2c在完成后不会停止。
#它将开始通过bittorrent将文件播种给其他人。
#您可以点击Ctrl-C终止此操作


####

#或通过http/ftp从下载页面

验证

#如果您认为您的下载可能已损坏,请验证:
美元
aria2c-Vhttp://server/path/sage-x.y.z.tar.metalink网址


提取


#任何本地目录都可以
$tar xf sage-x.y.z标签


前提条件

#你需要一些工具来编译Sage:
$sudo apt-get安装build-essential m4\
阅读行libreadline-dev gfortran texlive
#阅读更多信息:安装指南

设置生成环境

$cd sage-x.y.z美元

#去掉一些环境变量,除非
#你知道自己在做什么(比如ccache,…)
$
未设置CC
$
取消设置CXX

如果需要,请参阅README.txt
$
export SAGE_FAT_BINARY=“是”

#如果您有gfortran库问题
#通过$locate gfortran找到正确的路径
#设置这些变量是必要的在Ubuntu 9.10上
$
导出SAGE_FORTRAN=/usr/bin/gfortran
$导出SAGE_FORTRAN_LIB=/usr/LIB/libgfortran.so.3

#注意:如果出现此问题,请不要重新开始编译,
#你必须先把所有东西都清除干净

#CPU中有两个内核
#同时使用它们!
$
export MAKE=“MAKE-j2”

开始编译

#以资源友好模式
$离子-c3很好的制作

测试和包装


如果编译没有以错误结束(否则:搜索,圣人的支持sage-水平irc聊天)

#测试整个系统(2个CPU核2个):
$./sage-tp 2开发/sage-main
#或
$./sage-测试
#请再次报告问题

如果要构建
二进制分布,请在sagemath.org上传给我们,或发送给使用类似机器+系统的朋友:



$./sage-bdist x.y.z-Linux版本;

在像Ubuntu这样的系统上,您可以缩小结果存档小得多使用lzma公司压缩。“trans-compress”通过:


$zcat sage-x.y.z-。。。tar.gz | lzma-zv>sage-x.y.z-。。。塔尔·利兹玛

然后提取tar.lzma:

$tar--lzma-xvf sage-x.y.z…tar.lzma

链接

2009年11月29日星期日

维护镜像网络

以下是有关维护镜像网络.我说的是圣人软件,这是一个很好的开源数学程序。除了源代码之外,还有许多针对各种平台的预构建二进制文件。总的来说,每个月发布一次,必须将27个文件中的约14GB移动到18个镜像网站上世界各大洲。附近有镜子很重要,因为某些地区的网络连接可能很弱。2009年11月,仅windows的虚拟盒映像就产生了大约1.5 TB的流量,所有其他二进制文件和源文件加起来可能也会产生1.5 TB的容量。因此,镜像网络的净效率大约是传出数据量的十倍。


为了确保网站上只列出那些在线且最新的镜像,一个小的Python脚本使用特定于内容的校验和检查时间戳文件。只有正确且可检索时,才包括镜像。使用Linux的cron机制,每10分钟进行一次检查。


最近,我对此进行了增强,以直观地显示镜像随时间的变化情况。当一个新版本被镜像到世界上时,这尤其有趣。要查看其外观,请看Sage 4.2.1卷展栏的图形:





时间从底部开始,时间大约是11月17日格林尼治标准时间14:00。第一个工作镜是“UW”,它是主镜。一旦北美至少有另一个在线主镜,主镜就被排除在外——正如你所看到的,那就是旧金山州立大学和波士顿(哈佛大学)。您还可以看到,与镜像同步需要一天以上的时间。除了传输需要时间外,他们可能每天只计划启动一次同步,主镜像拒绝太多同时连接,太多用户直接从主服务器下载,或者只是有一些其他超时!为什么有两次休息?嗯,并不是所有二进制文件都同时准备好了,时间戳是针对整个镜像的,这样您就不会访问过时的镜像。Yandex的虚线也有点奇怪,但这是因为它们有多个服务器,并且似乎可以在两者之间切换。 


现在看起来怎么样?这是镜像日志可视化。还有一个链接指向它的外观上周


除了通过http或ftp检索文件之外,您还可以使用metalink文件。通过客户端,它可以同时从所有可用镜像下载,并且客户端会自动选择一些但速度最快的镜像。它还检查一致性和下载是否可以恢复。如果您的连接较弱,并且需要在一段时间内停止大量传输,或者传输不稳定,那么这是理想的解决方案。提示:使用咏叹调2DownThemAll公司


好吧,最后谈谈关于举办镜像的事情。有两件事很重要:经常同步以避免在可以传输数据时浪费时间,但每次只能同步一次;)我写过我是如何在镜像网络wiki页面


如果主网站关闭,您可以找到一个这里有镜子


感谢我们所有的镜子主人!没有它们,Sage可能永远无法接触到用户,新镜子总是受欢迎的,尤其是在南亚!