sage: 2*17-10
24
sage: 2*17-10
24
sage: 2*(17-10)
sage: (1-3)^3
-8
Вычисления выполняются точно, например, выражение 15/9 вычисляется до точного рационального числа 5/3 , а не до приближённого 1.66666666666667. Если нужно получить приближённое значение в виде числа с точкой, можно применить функцию numerical_approx
sage: 15/9
5/3
sage: numerical_approx(15/9)
1.66666666666667
sage: 2^100
1267650600228229401496703205376
sage: numerical_approx(2^100)
1.26765060022823e30
При получении приближённого результата можно указывать точность. В следующем примере определяется период числа
sage: numerical_approx((125/7, digits=25))
17.85714285714285714285714
sage: (-10)//7
-2
sage: (-10)%7
4
Имеется возможность разложить число на простые множители
sage: factor(15^2)
3^2*5^2
sage: sin(pi/2)
1
sage: sin(pi/4)
1/2*sqrt(2)
sage: i^2
-1
sage: ln(e)
1
sage: a=25-4
Выполнив команду присваивания,
Sage не
напечатает никакого значения. Чтобы увидеть значение переменной, нужно заставить
Sage вычислить
её значение
sage: a=25-4
sage: a
21
Для краткости несколько
команд можно записать в одной строке, разделив их точкой с запятой
sage: a=25-4 ; a
21
Переменную можно
использовать для вычисления значений других выражений
sage: a=25-4 ; a
21
sage: a=a//5
4
sage: z=var('z')
sage: 6*z^2+18*z
6*z^2+18*z
Функция var(z) создаёт
символическую переменную z, затем эта переменная записывается в программную переменную z как её значение. Теперь программную переменную z можно
использовать для построения более сложных выражений.
sage: (6*z^2+18*z)/6
z^2+3*z
Sage автоматически
производит некоторые упрощения. В данном случае сумму в скобках разделили на 6.
Символьное выражение можно присвоить программной переменной, при этом значением
переменной будет именно символьное выражение, а не число
sage: y=6*z^2+18*z ; y
6*z^2+18*z
sage: y/6
z^2+3*z
sage: y/z
6*(z^2+3*z)/z
В примере декларирована переменная y со значением 6*z^2+18*z. Вычисляя значение выражения y/6, Sage разделил оба слагаемых на знаменатель. Однако, при вычислении y/z сокращения на z не произошло, зато был вынесен общий множитель 6. Записи z=var('z') и var('z') почти эквивалентны.
Разница в том, что var('z') заставляет
Sage напечатать
символическую переменную, созданную функцией, тогда как оператор присваивания
не вызывает никакой печати.
Если нужно создать несколько переменных, можно написать несколько var либо
использовать сокращённый способ записи
sage: x=var('x') ; y=var('y') ; z=var('z')
sage: x^2+y*z
x^2+y*z
sage: var('a, b, c')
(a, b, c)
sage: a^2+b*c
a^2+b*c
После выполнения команды var('a, b, c') Sage напечатала созданные переменные.
sage: var('x, y')
sage: plot(2*x^2-3, x, -1, 5)
sage: plot3d(x^2+y^2, (x, -1, 1), (y, -1,
1))