## Introduction to Sage

Sage is an open source software system that bundles many standard open source mathematical software

libraries into a common Python-based interface. Cloud computing is well supported: you do not have to

install Sage on your computer to compute.

1.1 The Sage environment

We will use the online version of Sage, so the GUI is your web browser.

Three steps to getting started:

- Go to http://www.sagemath.org
- click on download!
- download the one suitable for your laptop this will consume so much data so you can click on this below link to try to do your work online. https://cocalc.com

### Polynomial Problem

so how can we use this sage to solve the discriminant of a polynomial? it is very simple logic

just know the equation of your function. you need to compute all your co-efficient and let it equal to a variable, then write a code to calculate the discriminant

An Intersection Problem discriminant.

### Example

let say we need to calculate the discriminant of a quadratic with sageMath.

### solution

we know quadratic can be written as ax^2+bx+c.

and we can see that all the co-efficient are a,b and c.

now these are the steps to write the codes

#### step1:

type 'R.' follow by the variable (x) and all the co-efficient equal to QQ[] like the following.

```
R.<x,a,b,c> = QQ[]
```

#### step2

let x=polygen(R). it might not be x it can be any variable you use for your equation for examples: if your equation is in form of r i.e(ar^2+br+c) then you use r

I mean your step2 will look like r=polygen(R)

#### step3

let any letter be the equation it self (I will advise you use y) so step3 look like

```
y=ax^2+bx+c
```

#### Step4

write a code to calculate the discriminant by writing the letter that denote the equation followed by discriminant function like the following.

```
y.discriminant()
```

now click run on the screen you will get your answer below the codes.

the whole codes look like the following.

```
R.<x,a,b,c> = QQ[]
x=polygen(R).
y=a*x^2+b*x+c
y.discriminant()
```

Result

let us try another example

### Example2

let's try to find the discriminant of a polynomial with degree 3

solutions

let the equation be ax^3+bx^2+cx+d

Now our code is

Let y= a*x^3 + b*x^2 + c*x + d

Codes

```
R.<x,a,b,c,d> = QQ[]
x = polygen(R)
y = a*x^3 + b*x^2 + c*x + d
y.discriminant()
```

Result

```
b^2*c^2 - 4*a*c^3 - 4*b^3*d + 18*a*b*c*d - 27*a^2*d^2
```

Example3

let's try it for polynomial of degree 4.

Let y = a*x^4+ b*x^3+ c*x^2 + d*x + e

Codes

```
R.<x,a,b,c,d,e> = QQ[]
x = polygen(R)
y = a*x^4+ b*x^3+ c*x^2 + d*x + e
y.discriminant()
```

Result

```
b^2*c^2*d^2 - 4*a*c^3*d^2 - 4*b^3*d^3 + 18*a*b*c*d^3 - 27*a^2*d^4 - 4*b^2*c^3*e + 16*a*c^4*e + 18*b^3*c*d*e - 80*a*b*c^2*d*e - 6*a*b^2*d^2*e + 144*a^2*c*d^2*e - 27*b^4*e^2 + 144*a*b^2*c*e^2 - 128*a^2*c^2*e^2 - 192*a^2*b*d*e^2 + 256*a^3*e^3
```

### How to find the number of terms of any polynomial.

To find the number of terms of any polynomial use `number_of_terms()`

function. example

let say y=3x^2+4x^5-3x+5. if we need to find the number of terms of y our code will be the following.

codes

```
y=3x^2+4x^5-3x+5
y.number_of_terms()
```

Result

4

Now let's use this to solve a polynomial that we solve in previous example. let's solve for the number of terms in the discriminant of polynomial of 4th degree. our codes will look like the following:

Codes

```
R.<x,a,b,c,d,e> = QQ[]
x = polygen(R)
y = a*x^4+ b*x^3+ c*x^2 + d*x + e
y.discriminant()
k=y.discriminant()
k.number_of_terms()
```

Result

```
b^2*c^2*d^2 - 4*a*c^3*d^2 - 4*b^3*d^3 + 18*a*b*c*d^3 - 27*a^2*d^4 - 4*b^2*c^3*e + 16*a*c^4*e + 18*b^3*c*d*e - 80*a*b*c^2*d*e - 6*a*b^2*d^2*e + 144*a^2*c*d^2*e - 27*b^4*e^2 + 144*a*b^2*c*e^2 - 128*a^2*c^2*e^2 - 192*a^2*b*d*e^2 + 256*a^3*e^3
16
```

### How to find the degree of polynomial

To find the degree of polynomial is very similar to others all we just need is to apply `degree()`

function.

### Example

let say y=3x^2+4x^5-3x+5. if we need to find the degree of y our code will be the following.

codes

```
y=3x^2+4x^5-3x+5
y.degree()
```

Result

5

Now let's use this to solve a polynomial that we solve in previous example. let's solve for the degree in the discriminant of polynomial of 4th degree. our codes will look like the following:

Codes

```
R.<x,a,b,c,d,e> = QQ[]
x = polygen(R)
y = a*x^4+ b*x^3+ c*x^2 + d*x + e
y.discriminant()
k=y.discriminant()
k.degree()
```

Result

```
b^2*c^2*d^2 - 4*a*c^3*d^2 - 4*b^3*d^3 + 18*a*b*c*d^3 - 27*a^2*d^4 - 4*b^2*c^3*e + 16*a*c^4*e + 18*b^3*c*d*e - 80*a*b*c^2*d*e - 6*a*b^2*d^2*e + 144*a^2*c*d^2*e - 27*b^4*e^2 + 144*a*b^2*c*e^2 - 128*a^2*c^2*e^2 - 192*a^2*b*d*e^2 + 256*a^3*e^3
6
```

Now I believe you now understand how it works. now try to do for degree 5,6,7,8 and 9. Yeah just follow the same step.

Enjoy coding! it's the guy maxwizard meet you in the next lesson.

## Discussion (0)