• Ubuntu 20.04系统中Sage(sagemath)安装及使用详细过程



    最近在做实验遇到要安装Sage,也是花了将近三天时间才弄好,一波三折整理了一下,以便后续还要安装时能少走弯路。

    首先,了解一下sage是什么Sage是免费的、开源的数学软件,支持代数、几何、数论、密码学、数值计算和相关领域的研究和教学。所以说想做密码学实验还是要掌握这个软件。

    其次,安装sage时在不同系统和不同方式的差异。这是Sage官网安装教程,或者看这篇中文版安装教程,两个教程是一样的。Windows系统下的安装就直接从下载.exe文件下载安装,这里主要记录在Ubuntu 系统中的安装过程。

    注意,官网给出了多种安装方式,我主要实验了两种,分别为预编译二进制版本源码编译(Source Code),二进制版本安装方式更简便,但由于版本要求,我还又用源码进行了安装。

    一、安装方式一:预编译二进制版本

    (1)从官网下载对应的版本:下载地址

    (这个版本看自己需求了,我选择的是sage 9.3-ubuntu 20.04版本)

    在这里插入图片描述

    (2)解压压缩包:我是直接Extract到本地(时间可能较长),会自动生成一个SageMath文件。

    (3)进入SageMath安装目录里输入./sage即可。

    $ cd SageMath/
    
    • 1
    $ ./sage
    
    • 1

    若显示如下页面,即表示安装完成。

    在这里插入图片描述

    二、安装方式二:源码编译

    但可能会由于版本问题,导致一些操作不可用,例如我遇到的问题是“TypeError: unsupported operand parent(s) for *”,不支持Abelian group of points和Rational Field的“乘法”操作。
    在这里插入图片描述
    网上咨询了别人发现,可能需要sage 9.6及以上版本。但预编译二进制版本只看到了9.4版本,没有找到更新的,故选择了这种方式。

    (1)从官网下载对应的包下载地址

    (我选择的sage 9.6)

    在这里插入图片描述
    (2)同样解压压缩包:Extract到本地(时间可能较长),会自动生成一个sage-9.6的文件。

    (2)参考官网给的安装教程这个帖子:

    1)安装前的预准备阶段,看看一些工具包是否安装好了。缺什么包就直接按照命令行工具需求安装即可,如sudo apt-get install 包名

    在这里插入图片描述
    例如,检查perl是否安装好了,

    $ command -v perl
    
    • 1

    如果输出了安装目录,即已经有了,没有的话就sudo apt-get install perl

    我为了方便和稳定,就直接复制了教程中给的包,如下

    $ sudo apt-get install  bc binutils bzip2 ca-certificates cliquer cmake curl ecl eclib-tools fflas-ffpack flintqs g++ gcc gengetopt gfan gfortran glpk-utils gmp-ecm lcalc libatomic-ops-dev libboost-dev libbraiding-dev libbrial-dev libbrial-groebner-dev libbz2-dev libcdd-dev libcdd-tools libcliquer-dev libcurl4-openssl-dev libec-dev libecm-dev libffi-dev libflint-arb-dev libflint-dev libfplll-dev libfreetype6-dev libgc-dev libgd-dev libgf2x-dev libgiac-dev libgivaro-dev libglpk-dev libgmp-dev libgsl-dev libhomfly-dev libiml-dev liblfunction-dev liblinbox-dev liblrcalc-dev liblzma-dev libm4ri-dev libm4rie-dev libmpc-dev libmpfi-dev libmpfr-dev libncurses5-dev libntl-dev libopenblas-dev libpari-dev libpcre3-dev libplanarity-dev libppl-dev libprimesieve-dev libpython3-dev libqhull-dev libreadline-dev librw-dev libsingular4-dev libsqlite3-dev libssl-dev libsuitesparse-dev libsymmetrica2-dev libz-dev libzmq3-dev libzn-poly-dev m4 make nauty ninja-build openssl palp pari-doc pari-elldata pari-galdata pari-galpol pari-gp2c pari-seadata patch perl pkg-config planarity ppl-dev python3 python3-distutils python3-venv r-base-dev r-cran-lattice singular singular-doc sqlite3 sympow tachyon tar tox xcas xz-utils
    
    • 1

    为了保险起见,我就全部复制安装了,可能需要等待一些时间。

    2)安装可选软件:dvipng、ffmpeg、ImageMagick、LaTeX(最好安装).

    $ sudo apt-get install dvipng ffmpeg imagemagick texlive
    
    • 1

    最好把以下几个包都安装了

    在这里插入图片描述

    3)进入sage-9.6安装目录,逐步输入以下步骤:

    $ cd Downloads/sage-9.6
    
    • 1
    $ export SAGE_FAT_BINATY=''yes''
    
    • 1
    $ ./configure
    
    • 1

    编译:进行make的时间非常长,需要耐心等待,我用时一个多小时,可别断网了。

    $  MAKE='make -j4' make
    
    • 1

    最后执行

    $ ./sage
    
    • 1

    显示如下页面,即安装成功!

    在这里插入图片描述

  • 相关阅读:
    Hadoop系列(一)Hadoop全分布式集群环境搭建
    矩阵按键简单使用
    Redis相关概念
    Vim C++ – 大有可为!(C++ Vim 使用技巧)
    X-Spider媒体下载工具
    SAML tracker 解决 Splunk UBA SSO SAML 登入
    Spring Cloud Gateway核心之Predicate
    冠达管理:股票退市整理期?
    Verilog HDL基础语法
    学习ros1很好的免费教材:wiki.ros.org/cn
  • 原文地址:https://blog.csdn.net/A33280000f/article/details/128052272