166

An Introduction to Sage - College of Natural Sciences (CNS ...jli/talks/introduction...l Uses the Python programming language Jennifer Li(Louisiana State University) An Introduction

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • An Introduction to Sage

    Jennifer Li

    Department of Mathematics

    Louisiana State University

    Baton Rouge

  • What is Sage?

    l Mathematical softwarel Originated by William Stein (University of Washington)l System for Algebra and Geometry Experimentationl Uses the Python programming language

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 2 / 83

  • What is Sage?

    l Mathematical software

    l Originated by William Stein (University of Washington)l System for Algebra and Geometry Experimentationl Uses the Python programming language

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 2 / 83

  • What is Sage?

    l Mathematical softwarel Originated by William Stein (University of Washington)

    l System for Algebra and Geometry Experimentationl Uses the Python programming language

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 2 / 83

  • What is Sage?

    l Mathematical softwarel Originated by William Stein (University of Washington)l System for Algebra and Geometry Experimentation

    l Uses the Python programming language

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 2 / 83

  • What is Sage?

    l Mathematical softwarel Originated by William Stein (University of Washington)l System for Algebra and Geometry Experimentationl Uses the Python programming language

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 2 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!

    l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computations

    l Covers many areas of mathematics:abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebra

    calculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculus

    combinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatorics

    linear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebra

    numerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematics

    number theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Why use Sage?

    l Free and open source!l Initial goal:

    "open source alternative to Magma, Maple, Mathematica, and MATLAB"

    lAllows review, reuse, and editing of previous computationsl Covers many areas of mathematics:

    abstract algebracalculuscombinatoricslinear algebranumerical mathematicsnumber theory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 3 / 83

  • Downloading: Basic Idea

    l www.sagemath.org

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 4 / 83

  • Downloading: Basic Idea

    l www.sagemath.org

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 4 / 83

  • Downloading: Basic Idea

    l www.sagemath.org

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 5 / 83

  • Downloading: Basic Idea

    l Need virtual machine: Oracle VM Virtual Box Managerl Computer inside of a computer.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 6 / 83

  • Downloading: Basic Idea

    l Need virtual machine: Oracle VM Virtual Box Manager

    l Computer inside of a computer.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 6 / 83

  • Downloading: Basic Idea

    l Need virtual machine: Oracle VM Virtual Box Managerl Computer inside of a computer.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 6 / 83

  • Downloading: Basic Idea

    l Need virtual machine: Oracle VM Virtual Box Managerl Computer inside of a computer.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 6 / 83

  • Getting Started

    l Choose New Worksheet

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 7 / 83

  • Getting Started

    l Choose New Worksheet

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 7 / 83

  • Getting Started

    l Name the worksheet

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 8 / 83

  • Getting Started

    l New worksheet

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 9 / 83

  • Getting Started

    l Top left corner:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 10 / 83

  • Getting Started

    l Option to choose a di�erent software package

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 11 / 83

  • Getting Started

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 12 / 83

  • Software Packages in Sage

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 13 / 83

  • Evaluating Sage Commands

    l Rectangular box = celll Click on cell to �activate"

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 14 / 83

  • Evaluating Sage Commands

    l Rectangular box = cell

    l Click on cell to �activate"

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 14 / 83

  • Evaluating Sage Commands

    l Rectangular box = celll Click on cell to �activate"

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 14 / 83

  • Evaluating Sage Commands

    l Rectangular box = celll Click on cell to �activate"

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 14 / 83

  • Evaluating Sage Commands

    l Type command(s)

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 15 / 83

  • Evaluating Sage Commands

    l Hit Evaluate

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 16 / 83

  • Evaluating Sage Commands

    l Sage returns result directly below cell with command

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 17 / 83

  • Evaluating Sage Commands

    l Sage returns result directly below cell with command

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 18 / 83

  • Functions

    l De�ning functions is straightforward

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 19 / 83

  • Functions

    l De�ning functions is straightforward

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 19 / 83

  • Functions

    l De�ning functions is straightforward

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 19 / 83

  • Functions

    l We can check the de�nition of f (x) by asking Sage what f (x) is

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 20 / 83

  • Functions

    l We can check the de�nition of f (x) by asking Sage what f (x) is

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 21 / 83

  • Functions

    l Sage returns the correct de�nition

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 22 / 83

  • Functions

    l Other variables may also be used

    B

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 23 / 83

  • Functions

    l Other variables may also be used B

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 23 / 83

  • Functions

    l Other variables may also be used B

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 23 / 83

  • Functions

    l Click in the green box.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 24 / 83

  • Functions

    l More details about error are given.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 25 / 83

  • Functions

    l To use a new variable:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 26 / 83

  • Functions

    l To use a new variable:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 26 / 83

  • Functions

    l To use a new variable:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 26 / 83

  • Comments

    l Comments can be inserted above each cell.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 27 / 83

  • Comments

    l Comments can be inserted above each cell.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 27 / 83

  • Comments

    l Comments can be inserted above each cell.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 27 / 83

  • Comments

    l Comments can be inserted above each cell.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 28 / 83

  • New Cells

    l Click icon for new cell.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 29 / 83

  • Cell Memory

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 30 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 31 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 31 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 32 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 33 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 34 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 35 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 36 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 37 / 83

  • Plotting Graphs in 2D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 38 / 83

  • A Cool Trick

    l Command? Shift+Enter

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 39 / 83

  • A Cool Trick

    l Command? Shift+Enter

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 39 / 83

  • A Cool Trick

    l Command? Shift+Enter

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 39 / 83

  • A Cool Trick

    l Command? Shift+Enter

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 40 / 83

  • A Cool Trick

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 41 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 42 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 42 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 43 / 83

  • Plotting Graphs in 3D

    l Right click to save image.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 44 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 45 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 45 / 83

  • Plotting Graphs in 3D

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 46 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 47 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 48 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 49 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 50 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 51 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 52 / 83

  • Plotting Graphs in 3D

    l Click and drag on image to rotate!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 53 / 83

  • Graphs

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 54 / 83

  • Graphs

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 54 / 83

  • Graphs

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 55 / 83

  • Modular Arithmetic

    l Ring of integers modulo n is available in Sage

    l What are the elements?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 56 / 83

  • Modular Arithmetic

    l Ring of integers modulo n is available in Sage

    l What are the elements?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 56 / 83

  • Modular Arithmetic

    l Ring of integers modulo n is available in Sage

    l What are the elements?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 56 / 83

  • Modular Arithmetic

    l Ring of integers modulo n is available in Sage

    l What are the elements?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 56 / 83

  • Modular Arithmetic

    l Ring of integers modulo n is available in Sage

    l What are the elements?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 56 / 83

  • Modular Arithmetic

    l Addition in Z/nZ:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 57 / 83

  • Modular Arithmetic

    l Addition in Z/nZ:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 57 / 83

  • Modular Arithmetic

    l For multiple commands on one line, separate with ';'

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 58 / 83

  • Modular Arithmetic

    l For multiple commands on one line, separate with ';'

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 58 / 83

  • Modular Arithmetic

    l Hitting Evaluate returns results for all commands

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 59 / 83

  • Groups

    l Many groups are prede�ned.l Example: Symmetric group of n elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 60 / 83

  • Groups

    l Many groups are prede�ned.

    l Example: Symmetric group of n elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 60 / 83

  • Groups

    l Many groups are prede�ned.l Example: Symmetric group of n elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 60 / 83

  • Groups

    l Many groups are prede�ned.l Example: Symmetric group of n elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 60 / 83

  • Groups

    l What are the elements in this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 61 / 83

  • Groups

    l What are the elements in this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 61 / 83

  • Groups

    l Example: Symmetric Group of �ve elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 62 / 83

  • Groups

    l Example: Symmetric Group of �ve elements.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 62 / 83

  • Groups

    l What is the size of this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 63 / 83

  • Groups

    l What is the size of this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 63 / 83

  • Groups

    l What are the elements in this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 64 / 83

  • Groups

    l What are the elements in this group?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 64 / 83

  • Groups

    l Right click on .txt �le

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 65 / 83

  • Groups

    l Open link in new tab or new window

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 66 / 83

  • Groups

    l Save or copy and paste text

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 67 / 83

  • Other Group Functions

    l Is a group abelian?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 68 / 83

  • Other Group Functions

    l Is a group abelian?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 68 / 83

  • Other Group Functions

    l Is a group abelian?

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 68 / 83

  • Another Cool Trick

    l Object. Tab

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 69 / 83

  • Another Cool Trick

    l Object. Tab

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 69 / 83

  • Another Cool Trick

    l Object. Tab

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 69 / 83

  • Another Cool Trick

    l All commands for a group!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 70 / 83

  • Other Prede�ned Groups

    l Alternating Groups (all even permutations of n elements)l Dihedral Groups (symmetries of n-gon)l Klein Four Group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 71 / 83

  • Other Prede�ned Groups

    l Alternating Groups (all even permutations of n elements)

    l Dihedral Groups (symmetries of n-gon)l Klein Four Group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 71 / 83

  • Other Prede�ned Groups

    l Alternating Groups (all even permutations of n elements)l Dihedral Groups (symmetries of n-gon)

    l Klein Four Group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 71 / 83

  • Other Prede�ned Groups

    l Alternating Groups (all even permutations of n elements)l Dihedral Groups (symmetries of n-gon)l Klein Four Group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 71 / 83

  • Other Prede�ned Groups

    l Alternating Groups (all even permutations of n elements)l Dihedral Groups (symmetries of n-gon)l Klein Four Group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 71 / 83

  • Even More Group Functions

    l Sage can construct the multiplication table, or Cayley table, of a group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 72 / 83

  • Even More Group Functions

    l Sage can construct the multiplication table, or Cayley table, of a group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 72 / 83

  • Even More Group Functions

    l Sage can construct the multiplication table, or Cayley table, of a group

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 72 / 83

  • Finite Fields

    l Sage knows about �nite �elds

    l Another way to de�ne a �nite �eld:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 73 / 83

  • Finite Fields

    l Sage knows about �nite �elds

    l Another way to de�ne a �nite �eld:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 73 / 83

  • Finite Fields

    l Sage knows about �nite �elds

    l Another way to de�ne a �nite �eld:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 73 / 83

  • Finite Fields

    l Sage knows about �nite �elds

    l Another way to de�ne a �nite �eld:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 73 / 83

  • Finite Fields

    l Sage knows about �nite �elds

    l Another way to de�ne a �nite �eld:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 73 / 83

  • Finite Fields

    l All �nite �elds must have prime power order.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 74 / 83

  • Finite Fields

    l All �nite �elds must have prime power order.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 74 / 83

  • Elliptic Curves

    l All elliptic curves can be written in Weierstrass form:

    y2+a1xy +a3y = x3+a2x2+a4x +a6

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 75 / 83

  • Elliptic Curves

    l All elliptic curves can be written in Weierstrass form:

    y2+a1xy +a3y = x3+a2x2+a4x +a6

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 75 / 83

  • Elliptic Curves

    l There are many ways to construct an elliptic curve in Sage

    l One way: simply enter the coe�cients a1,a2,a3,a4,a6

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 76 / 83

  • Elliptic Curves

    l There are many ways to construct an elliptic curve in Sagel One way: simply enter the coe�cients a1,a2,a3,a4,a6

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 76 / 83

  • Elliptic Curves

    l There are many ways to construct an elliptic curve in Sagel One way: simply enter the coe�cients a1,a2,a3,a4,a6

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 76 / 83

  • Elliptic Curves

    l Where do the coe�cients live?

    l If ai are all integers: Ql Elliptic Curves over �nite �elds:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 77 / 83

  • Elliptic Curves

    l Where do the coe�cients live?l If ai are all integers: Q

    l Elliptic Curves over �nite �elds:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 77 / 83

  • Elliptic Curves

    l Where do the coe�cients live?l If ai are all integers: Ql Elliptic Curves over �nite �elds:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 77 / 83

  • Elliptic Curves

    l Where do the coe�cients live?l If ai are all integers: Ql Elliptic Curves over �nite �elds:

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 77 / 83

  • Plotting Elliptic Curves

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 78 / 83

  • Databases in Sage

    l There are many mathematical databases in Sage.

    l An example: Cremona Tables

    l Cremona number −→ More information about curve

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 79 / 83

  • Databases in Sage

    l There are many mathematical databases in Sage.l An example: Cremona Tables

    l Cremona number −→ More information about curve

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 79 / 83

  • Databases in Sage

    l There are many mathematical databases in Sage.l An example: Cremona Tables

    l Cremona number −→ More information about curve

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 79 / 83

  • Databases in Sage

    l There are many mathematical databases in Sage.l An example: Cremona Tables

    l Cremona number −→ More information about curve

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 79 / 83

  • Saving

    l Save options are at the top right corner.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 80 / 83

  • Saving

    l Save options are at the top right corner.

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 80 / 83

  • Closing Sage

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 81 / 83

  • SageMathCloud

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 82 / 83

  • SageMathCloud

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 82 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plotsSpecialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!

    Quick calculationsExtensive projectsBeautiful plotsSpecialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculations

    Extensive projectsBeautiful plotsSpecialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projects

    Beautiful plotsSpecialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plots

    Specialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plotsSpecialized topics

    E�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plotsSpecialized topicsE�cient collaboration

    No costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plotsSpecialized topicsE�cient collaborationNo cost

    You can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83

  • Conclusion

    l Sage is great!Quick calculationsExtensive projectsBeautiful plotsSpecialized topicsE�cient collaborationNo costYou can contribute!

    Jennifer Li (Louisiana State University) An Introduction to Sage May 2, 2015 83 / 83