Index

**, 41 AlternatingSignMatrices, 340 +, 41, 56, 69, 158, 366 and, 104 .., 44 animate, 74 ;, 39 animation, 74 =, 41 antiderivative, 30 ==, 17, 42 any, 61, 343 ?, 11, 41 append, 64, 65, 272 #, 39 Arb, 247 _, 12 arithmetic \, 40, 166 basic, 7 ~, 158 elementary, 102–103 interval, see interval arithmetic AA, 101, 138, 273 modular, 113–115 abs, 9, 94, 103 of polynomials, 132, 181 absolute value, 9 arithmetic operations, 7, 17, 95 acceleration of convergence, 274 finite fields, 115 __add__, 94 matrices, 158 add, 61 modulo n, 114 add_constraint, 389 polynomials, 128, 180 add_edge, 361 arithmetic-harmonic mean, 47, 51 add_edges, 361, 384 Arrangements, 328 add_vertex, 361 assert, 40, 262 adjacency , 155, 362 assignment, 41, 47, 67 adjacency table, 362 assume, 21, 223 algebraic geometry, 199 attrcall, 345 algebraic number, 38, 106, 109, 130, 135, augment, 154 138, 142, 183 automatic completion, 11, 96 algebraic structure, 97–99 automatic_names, 14 algebraic variety, 185 automorphism_group, 375 AlgebraicField, 101 Axiom, 97, 126 AlgebraicRealField, 101 algorithm backslash, 40 Dijkstra’s, 372 bar chart, 77, 89 Edmonds’, 373 bar graph, 77, 89 fast multiplication, 151 bar_chart, 77, 89 Ford-Fulkerson, 373 base_extend, 154, 158 QR, 291 base_ring, 114, 126, 154, 273 aliasing, 67 basic type, 101 aliquot sequence, 122 , 154 all, 61, 343, 442 basis (), 36, 154 452 INDEX basis_is_groebner, 205 chromatic_number, 364, 374 berlekamp_massey, 144, 422 CIF, 138, 251, 256, 273 Bézout relation, 133 circle, 87, 89 BinaryTree, 347 class, 93, 97 binomial, 9, 334 class, 40 binomial coefficient, 9 clique, 374 bisection, 264 clique_maximum, 374 BLAS, 296 Cliquer (program), 374 , 156 closed-form expression, 184 block_diagonal_matrix, 156 CoCalc, 4, 5 block_matrix, 154, 156 CoCoA, 199 bool, 17, 101 coefficient boolean, 11, 103 matrix, 156 breadth_first_search, 372 polynomial, 129, 179 break, 45 coefficients, 129, 179 bug, xiii coercion, 95 collect, 19, 20, 128 C++, 5 collections, 272 , see normal form, 113 color, 73, 368 canonicalize_radical, 20, 21 coloring, 368, 374, 379 cardinality, 340, 440 column_space Cartesian product, 62, 98 , 37, 408 combine cartesian_product, 257, 347 , 19 Cassini surface, 90 combstruct, 332 catalan, 11 command history, 12 Catalan constant, 11 command line, 5 catastrophic cancellation, 238 command prompt, 7 categories, 131 comment, 39 category, 99, 131 , 174 category, 99 comparison, 42 Cauchy interpolation, 145 of two expressions, 17 CBF, 251 complement, 371 CC, 101, 256, 273 CompleteBipartiteGraph, 364 CDF, 243, 253, 256, 273 CompleteGraph, 364 center, 372 complex floating-point number, 103 change of variables, 219 complex_plot, 77, 89 change_ring, 129, 154, 158, 206 ComplexBallField, 251 character string, 56 ComplexDoubleField, 256 characteristic, 114 ComplexField, 101, 243, 253, 256 characteristic polynomial, 37, 160, 168, ComplexIntervalField, 251, 256 171 comprehension, 60, 341 characteristic value, 168 computation of π, 31, 32, 34 characteristic_polynomial, 37, 160 computational domain, 99–110 charpoly, 135, 160, 170 computer algebra, 3 Chinese Remainder Theorem, see theo- and numerical computation, 10, 261 rem system, 108 chromatic number, 364, 365 concatenation, 66 INDEX 453 conchoid, 76 delayed reduction, 115 condition number, 277–280, 285, 286, delete_edge, 362 299 delete_vertex, 362 conditional, 49 denominator, 141, 333 conditional instruction, 49 depth_first_search, 372 conjugate, 130, 158 deque, 272 conjugate gradient, 299 derivative connected component, 373 of a polynomial, 129, 179 connected_components, 373 of an expression, 30, 32, 63 connectivity, 373, 374, 376, 379 partial, 33, 179, 214 constants, 244 derivative, 32, 129, 179, 261 constants (predefined), 11 Descartes’ rule, 262 content, 132 desolve, 24, 214, 227 continue, 45 desolve_laplace, 224, 227 contrib_ode, 214 desolve_rk4, 82, 89 conventions, 7 desolve_system, 225 convergence, 32, 48, 240, 241, 263, 274 det, 165 acceleration of, 274 determinant, 160, 165, 168 conversion, 95, 98, 102, 130, 236 diagonalization, 37, 160 copy, 67, 158, 291, 372 diameter, 372 cos, 21 diameter of a graph, 372 count, 64 Dickson lemma, 205 cover_ring , 135 dict, 70, 129 Cox, David A., 177 dictionary, 179 Cramer’s formula, 281 diff, 30, 32, 129, 227, 403 cross product, 35 differential equation, 80, 147, 213–226, cross_product, 35, 406 303, 316 crt, 118, 132 Bernoulli, 215 cryptology, 115, 189 Clairaut, 216 csv (comma-separated values), 78 constant coefficient, 221 cut (graph), 375, 379 exact, 216 Cyclic, 188 homogeneous, 215, 219, 220 cyclic vector, 169 Lagrange, 216 data sharing, 67 linear first-order, 215, 216 decimal number, 102 parametric, 221 decimal point, 8 plot, 218 decomposableObjects, 332 Riccati, 216 decomposition separable, 215, 217, 219 partial fraction, 141 systems, 224 square-free, 136 diffusion list, 4 decomposition, 172 DiGraph, 370, 371 decorator, 53 dimension deepcopy, 68 of a variety, 208 def, 40, 51 of an ideal, 182, 190, 196, 208 degree, 129, 179 dimension, 183, 190, 191 del, 41, 65, 70 discrete logarithm, 121–122 454 INDEX discriminant, 137 elementary_divisors, 160, 165 discriminant of a polynomial, 25, 139 elementwise_product, 158 disjoint_union, 366, 367 elif, 50 display elimination graphs, 367 algebraic, 182, 190, 194, 209 distance (in a graph), 372 elimination_ideal, 191 divides, 132, 182 else, 49 division, 8 endomorphism reduction, 37 by increasing powers, 133 envelope of a family of curves, 86, 193 integers, 9 equality of polynomials, 132, 134, 181, 202, left/right-hand side, 24 207 equation, 10, 23–26 divmod, 9 differential, see differential equa- documentation, 4 tion domain linear, 23, 24 computation domain, 22 numerical solution, 25, 255–276 dominating set, 374, 393 of a curve, 76, 77, 193 dominating_set, 374 of a surface, 90 Dormand-Prince method, 317 partial differential, see partial dif- dot_product, 35 ferential equation double exponential method, 307 polynomial, 137 double-precision, 235, 243, 276 solving, 24 drawing, 79 system of equations, 24 Euler’s method, 316 e, 11 euler_gamma, 11 eccentricity, 372 exec, 40 eccentricity, 372 exists, 343 echelon form, 37, 161 exp, 21 echelon_form, 37, 160, 163, 164, 407 expand, 18, 20 echelonize, 160, 163 expand_sum, 21 edge (graph), 361 expand_trig, 21 edge_coloring, 374 exponent of a float, 233–235 edge_connectivity, 373 exponentiation edge_cut, 373 binary, 134 edge_disjoint_paths, 373 modular, 115, 120 Edmonds, Jack, 392 exporting a figure, 369 eigenmatrix_left, 160, 174 Expression, 258 eigenmatrix_right, 160, 174 expression tree, 17 eigenspace, 160, 168 extend, 64 eigenspaces_left, 160, 173 extension, 38 eigenspaces_right, 160, 173 eigenvalue, 37, 160, 168, 172, 225 factor, 9, 20, 94, 95, 101, 136, 137, 182 eigenvalues, 37, 173 factor_list, 20 eigenvector, 37, 160, 172 factorial, 9 eigenvectors_left, 160 programming, 52 eigenvectors_right, 37, 160 factorial, 9, 21, 102 elementary function, 21 factorization INDEX 455

integer, 94, 121, 135 Gaussian elimination, 159–161 polynomial, 108, 118, 130, 135 gcd False, 11, 103 integers, 114, 116, 117 fast multiplication, 151 polynomials, 132, 261 Fermat test, 118 gcd, 132, 182 Fermat, Pierre de, 9 Gear’s method, 317 Fibonacci sequence, 52–56 gen, 127, 190 FieldIdeal, 188 generator, 115, 127, 269, 270 Fields, 99 of a polynomial ring, 177 figure export, 74 programming, 265 filter, 60, 65, 67, 69 vector space, 154 finance, 78 genericity, 95 find_root, 24, 25, 275 gens, 154, 177 finite field, 101, 104, 113–116, 119 genus, 191, 375 non-prime, 115 genus, 191, 375 FiniteEnumeratedSet, 438 geometry, 193, 195 FiniteField, 101, 115 get_values, 389 fixed point, 148 GF, 101, 115, 119 flatten, 62, 67 gfun, 332 float, 101 Gibbs phenomenon, 75 floating-point number, 25, 102 girth (graph), 364 floor, 9 GL, 155 flow, 373–375, 393 global, 51 flow , 373 GMP, 256 for , 40, 42, 60, 62, 337, 342 GMRES, 299, 302 forget , 22 GNU MPFR, 235, 296 formal power series, 106, 141, 143, 145, GNU/Linux, 4 421 golden_ratio, 11 formula Graph, 361, 362, 370, 371, 374 Bailey-Borwein-Plouffe, 34 graph, 89 Sherman-Morrison, 435 adjoint, see line graph Fourier series, 75 bipartite, 365, 376 fourier_series_partial_sum, 75 chordal, 372, 376 Frac, 141 circulant, 363, 365 Frobenius normal form, 168, 171 complete, 365 frozenset, 397 Eulerian, 376 function, 19, 214, 227 function graph, 89 families of graphs, 364 function_factory, 420 interval, 376 functional equation, 147 graph k-connected, 373 Galois group, 140 Kneser, 364 galois_group, 137, 140 perfect, 376 GAP, 5, 6, 358 Petersen, 363, 364 Gauss-Jordan elimination, 162 planar, 364 Gauss-Kronrod method, 304, 306 random, 365, 373, 379, 381 Gauss-Legendre method, 306 small graphs, 363 456 INDEX

vertex-transitive, 364, 376 of a function, 71 graph coloring, 374, 377, 385 of a linear transformation, 166 graph isomorphism, 375 image, 160, 166 graph minor, 375 immutability, 158, 362, 389 forbidden, 364 immutable, 68, 70 graph of a function, 73 implicit_plot, 77, 89 differential equation solution, 80, implicit_plot3d, 90 318 import, 13, 40 graph paths in, 58, 69, 70 edge-disjoint, 373 indentation, 7, 43, 44 vertex-disjoint, 373 independent set, 367, 374, 380, 384 graph traversal, 372, 373 independent_set, 367, 374, 384 Graphics, 82, 89 index, 65 graphics, 15, 73–91 induced subgraph, 366, 381 Gröbner basis, 187, 190, 200, 203–211 inequality, 25, 387 computation cost, 209 polynomial system, 195 definition, 205 inert function, 420 reduced, 208 infinite, 236 group, 99 InfinitePolynomialRing, 179, 180 linear GLn, 154 Infinity, 11, 28, 335 GSL, 82, 310, 311, 318, 319, 437 initial conditions, 214 guessing, 145 inject_variables, 426 insert, 64 Hamiltonian cycle, 374, 395 instance, 93 hamiltonian_cycle, 374, 375 instruction block, 43 harmonic function, 33 int, 101, 335 harmonic number, 117, 241 Integer, 102, 256 hash table, 69 integer help, 4, 11, 96 n Hermite normal form, 163, 407 modulo , 104 hermite_form, 164 number, 101 Hilbert matrix, 279, 293, 294 part, 9, 21 histogram, 77, 89 ring, 113–115 homogenize, 179, 188 integer_kernel, 160, 167 IntegerListsLex, 350, 351 i (imaginary unit), 11, 103 IntegerModRing, 101, 104, 113, 119 ideal IntegerRing, 101 polynomials, 181, 182, 185 Integers, 101, 113 polynomials with an infinite num- IntegerVectors, 340 ber of variables, 180 integral, 33 ideal, 134, 135, 182, 188 integral curve, 82, 89 identifier, 40 integrate, 30, 33, 310 identity_matrix, 154, 155, 290 integrate_numerical, 34 IEEE-754 standard, 234 integration if, 49, 60 numerical, 34, 303–314 imag, 103 symbolic, 30, 33 image, see graphics interreduced_basis, 208 INDEX 457 intersection, 188, 190 matrix, 174 interval arithmetic, 256 jordan_block, 154, 155, 160, 175 introspection, 96 jordan_form, 37, 38, 175 invariant factor, 164, 172 Jupyter, 4, 5, 14 invariant subspace, 168 inverse Kash, 96 compositional (of a series), 141 kernel, 36, 37, 160, 166 modular, 114 kernel, 160, 167 power, 290 keyboard shortcut, 7 inverse_laplace, 224, 227 keys, 71, 348 IPython, 5 knapsack (problem), 391 irrelevant_ideal, 188 knot, 91 is_bipartite, 376 Krylov sequence, 168 is_cartesian_transitive, 376 is_chordal, 372, 376 label (graph), 362, 367 is_connected, 373 lagrange_polynomial, 132, 272, 305 is_constant, 129 lambda, 40, 59, 65 is_eulerian, 376 Lapack, 292, 296 is_exact, 273 laplace, 227 is_hamiltonian, 375 Laplace transform, 223 A is_integral_domain, 126 LTEX, 74 is_interval, 376 LattE, 351 is_irreducible, 135, 137 LaurentSeriesRing, 141 is_isomorphic, 366, 375 lazy computation, 148 is_monic, 129 LazyPowerSeriesRing, 148, 330 is_noetherian, 131 lc, 179 is_perfect, 376 lcm, 117, 132, 182 is_prime, 119 leading coefficient, 179, 180, 201 is_pseudoprime, 119 leading monomial, 179, 180, 201 is_regular, 364 leading term, 179, 180, 201 is_ring, 131 leading_coefficient, 129 is_squarefree, 182 left_kernel, 36, 37, 160, 167 is_tree, 376 left_solve, 24 is_vertex_transitive, 364, 376 Legendre polynomial, 35, 306 is_zero, 23, 261 Leibniz formula, 63 iter, 342 len, 57, 66, 69, 335 iterable, 337, 342 lex_BFS, 372, 376 iterator, 43, 44, 265, 345, 372 lexicographic order, 63, 202 itertools, 344 lhs, 24, 221, 227 lift, 114, 134, 135, 187, 188 jacobi, 121 lim, 28 Jacobi symbol, 121 limit, 30 jacobian_ideal, 188 numerical approximation, 47 Jmol, 88 limit, 28, 30, 403 Jordan limit point, 227 block, 174 line, 79, 82, 89 form, 37, 167, 174 line graph, 371 458 INDEX line3d, 91 QR, 284–286, 291, 292 , 35–38, 153–176 inverse, 158 numerical, 277–302 norm, 278, 285–287 linear equation, 166 normal form, 159, 162–164, 171 linear programming, 373, 374, 387–399 rank, 284–286 over the integers, 388 row, 156 linear system, 166 similarity, see similarity (matrix) solving, 160, 166 transpose, 158 linearization (trigonometrics), 21 unimodular, 163 Linux, 4 matrix, 36, 37, 105, 135, 155 list, 57 matrix_block, 37 list, 129 MatrixGroup, 154, 155 Little, John B., 177 MatrixSpace, 101, 105, 153, 154 lm, 179 max_cut, 375 log, 21, 122, 244 max_symbolic, 313 logic, 103 Maxima, 6, 13, 14, 126, 219, 260, 311, logistic map, 226 319 loop maxspin, 160, 170 while, 43 Mendès France, Michel, 80 early abort, 45 method for (enumeration), 42 bisection, 264 infinite, 63 Brent’s, 275 lt, 179 false position, 267 Macaulay2, 199 Newton’s, 268 Machin’s formula, 31 Newton-Cotes, 305 Machin, John, 31 programming, 94 MacOS, 4 secant, 270 Magma, 96, 97, 126 separation of variables, 222 Magnus effect, 85 Steffensen’s, 274 manual, 4 Microsoft Windows, 4 map, 59, 62, 67, 69 minimal polynomial, 37 map_coefficients, 179 algebraic number, 184 Maple, 13, 14, 126, 332 linear recurrence, 134 Masser-Gramain constant, 122 matrix, 37, 160, 169 matching, 373, 374, 392 vector, 169 matching, 384 minimal_polynomial, 37, 160 matrix, 36, 37, 105, 153, 176, 277–302, minor, 160 387 minor, 375 column, 156 minpoly, 135, 160 companion, 169 MixedIntegerLinearProgram, 388, 389 decomposition, see matrix factor- mod, 114, 135, 181, 188 ization modulus (complex number), 9, 103 equivalence, 159, 162, 167 monomial order, 178, 180, 181, 201 factorization change of order, 210 Cholesky, 283, 284, 288 MPFI, 247 LU, 163, 281, 283, 284, 291 MPFR, see GNU MPFR INDEX 459

MPolynomial, 179 limits, 32 mq, 189 solutions of equations, 25–26, 138, __mul__, 94 198, 239, 276 Muller, David E., 271 numerical sequence, 47 Muller, Jean-Michel, 240 uniformly distributed, 79 multicommodity_flow, 375 numerical_approx, 8, 11, 22, 103 multiplicity, 186, 255, 260 NumPy, 84, 273, 296 MuPAD, 97, 126 MuPAD-Combinat, 332 object, 93 mutability, see immutability object-oriented programming, 93–96 objective function, 389 n, see numerical_approx ode_contrib, 216 n-tuple, see tuple ode_solver, 82, 317 NaN (Not a Number), 236 odeint, 82, 89, 412 new_variable, 390, 393 one, 154 next, 341, 342 oo, 11 next_prime, 118 optimization, 387–399 None, 40, 51 or, 104 norm order of a matrix, see matrix norm additive, 114 of a vector, 35 multiplicative, 114 norm, 35 order, 361 normal equations, 285, 286 order of variables, 178 normal form OrderedSetPartitions, 340 expression, 20, 22, 99, 110, 126 osculating circle, 88 modulo an ideal, 187 O’Shea, Donal, 177 normal_basis, 191, 200 not, 104 p-adic number, 137 notebook, 7 Padé approximant, 143 NotImplementedError, 130 pairing, 384 nth_root, 21 PALP, 351 Nullstellensatz, 188 parametric curve, 76, 86, 89, 193 number in 3D, 91 Carmichael, 120 parametric surface, 88 floating-point, 233 parametric_plot, 76, 89 integer modular, 113–115 parametrization, 86, 193 prime, 118–119 parent, 97, 99, 127, 131 number field, 38, 109, 135 parent, 114 number_field, 135 PARI/GP, 5, 6, 96, 273, 309, 312, 313 NumberField, 38, 106, 135 partial differential equation, 214 numer, 94 partial fraction decomposition, 19, 224 numerator, 141 partial_fraction, 19, 20, 224 numerical approximation, 8, 45, 123, partial_fraction_decomposition, 141 138, 244, 277 pass, 40 differential equation, 316–321 periphery, 372 equation solving, 255 Permutations, 378 integral, 303–314 π (Archimedes’ constant), 11 460 INDEX

computation, see computation of π primality, see number, prime piecewise, 75 primary normal form, 175 pivot_rows, 160, 165 prime_range, 120 pivots, 160, 165 print, 40, 52, 56 plot, 15, 30, 73, 89, 218, 257, 304, 370 probability, 366 plot (differential equation), 218 procedure, 41, 50 plot3d, 15, 88 prod, 61 plot_histogram, 77, 89 product, 61 plot_points, 73 of graphs, 371, 376 plot_vector_field, 84 programming, 39–71, 341–347 point, 79 method, 41 point cloud, 79 projection, 192 points, 79, 89 pseudo-division, 132 polar coordinates, 35, 76 pseudo-primality, 118 polar_plot, 76, 89 pseudo_divrem, 132 polygen, 126 public server, 4–6 polygon, 89 Python polymorphism, 95 function, 41, 50 polynomial, 125–151, 177–211 anonymous, 59 Chebyshev, 133 variable, 12–13 polynomial, 179, 180 version 3, 39 polynomial representation q-factorial, 442 dense, 150 QQ, 101, 256, 273 recursive, 128, 179 QQbar, 101, 138, 183, 273 sparse, 150 QUADPACK, 311 polynomial ring, 126, 177, 273 quadratic residue, 121 with infinite number of variables, quadrature rule, 305 180 quit, 40 polynomial root, 255 quo, 134, 135, 188 polynomial_sequence , 189 quo_rem, 132, 181 PolynomialRing , 101, 126, 177, 179 quotient pop , 64, 70 numerical, see arithmetic operations power, 8 polynomial ring, 186, 200 power method, 289–291, 300–302 Z/nZ, 113 power series, 27, 30, 106 quotient, 188, 190 expansion, 30 PowerSeriesRing, 106, 141 radical, 137, 188 prec, 146 radical of an ideal, 188 precision radius, 372 arbitrary vs fixed, 235, 253 radius of a graph, 372 floating-point number, 233–236, 238, Ramanujan, Srinivasa, 32 239, 241 random, 79 loss of, 238 random walk, 79 numerical computation, 198 random_element, 129, 378 series, 146 random_matrix, 154, 155 predator-prey model, 84 randrange, 77 INDEX 461 range, 44 reset, 13, 41 range, 44, 343 resolution rank, 160 polynomial systems, 182 matrix, 165, 168 resources, 4 profile, 160, 165 restore, 13 rank, 165 resultant, 138, 194 Rational, 93, 94 resultant, 137, 182, 191 rational return, 40, 45, 51, 265, 345 number, 102 reverse, 63, 128, 129, 141 rational function, 19, 132, 140–141 rewriting, 203 rational reconstruction, 116, 123, 141, rhs, 24, 227 142 RIF, 138, 245, 256, 273 rational_argument, 184 right_kernel, 36, 37, 160, 166, 407 rational_reconstruct, 141, 143 right_solve, 24 rational_reconstruction, 116 root RationalField, 101 n-th root, 9, 21 raw_input, 57 of a polynomial, 137, 238, 263 RBF, 246 isolation, 262 RDF, 130, 235, 253, 256, 273 root_field, 257 real, 103 roots, 24, 25, 137, 196, 255, 260, 261, real_root_intervals, 137 275 real_roots, 137, 273, 275 rounding, 234, 238, 243 RealBallField, 246 row_space, 37 RR RealField, 101, 235, 253, 256 , 101, 256, 273 RealIntervalField, 245, 256 RSA (cryptosystem), 115 rsolve Reals, 235, 256 , 229 Runge’s phenomenon, 305 rectangle rule, 305 Runge-Kutta recurrence, 43 method, 317 recurrence relation, 226–230 recurrent sequence, 45–53, 134 Sage developers, 6 drawing, 80 Sage history, 6 numerical stability, 239 sage-support, xiii recurrent series, 145 sage:, 7 recursivity, 52 sagemath.org, 4 reduce SageMathCloud, see CoCalc, 4 list, 61 SageMathInc, 4 modulo, 134, 141, 187, 188 save, 74 reduce_trig, 21 scalar product, 35 reduced echelon form, 162 SciPy, 82, 83, 275, 276, 296, 298, 301, transformation to, 162 302, 412 reduction of endomorphism, 160 sequence, see tuple regular expression, 67 numerical, 28 remove, 65 Syracuse, 49 representation of polynomials series, 31, 241 factored, 108 alternating, 47 sparse, 179 expansion, 148 462 INDEX series, 30, 106 squarefree_decomposition, 137 Set, 69, 438 SR, 101, 150, 258 set, 69 SR.var, see var set_binary, 390 srange, 44 set_immutable, 158 SSP (subset sum problem), 392 set_integer, 390 stable (graph), see independent set set_max, 390 stack, 154 set_min, 390 staircase, 203, 204 set_objective, 389 StandardTableaux, 340 set_real, 390 Stein, William, 6 shortest path (graph), 372 steiner_tree, 375 shortest_path, 372 str, 66, 101 show, 74, 88, 367, 370, 385 study of a function, 21 significand, 233–242 Sturm sequence, 262 similarity (matrix), 167, 171, 176 subgraph, 371 similarity invariant, 168, 170, 172 subgraph_search, 366, 375, 377, 383 simplification, 11, 21, 22, 108 submatrix, 157 simplify, 11, 20, 107 submatrix, 154 simplify_factorial, 21 SubMultiset, 425 simplify_full, 21 subs, 18, 129, 179, 181 simplify_rational, 20, 21, 333 subset sum, 392 Subsets simplify_rectform, 21 , 425, 444 substitute simplify_trig, 20, 21, 23 , 18 substitute_function sin, 21, 244 , 420 sum Singular, 5, 6, 179, 199 , 27, 30, 61, 342 summation singular value decomposition, 284, 286, compensated, 242 287 programming, 46 size, 361 symbolic, 27, 30 SL, 155 SVD, see singular value decomposition small_roots, 130 swap_columns, 160 , 164 swap_rows, 160 smith_form, 160 sxrange, 44 solve, 23, 24, 86, 182, 220, 389, 390 symbolic expression, 10–14, 17, 103, 106– solve_left, 36, 37, 160, 166 107, 110, 126, 150 solve_right, 36, 37, 160, 166 function, 19 solving test of zero, 22 linear programming, 389 symbolic function, 19, 227, 401 linear systems, 35 symbolic variable, 13–14 numerical equations, 23–26, 255– SymPy, 229 276 system of equations, 35, 177, 387 sort, 63 differential, 224 sorted, 64 sorting, 63 tabulation, 11 split, 66 Tachyon, 88 spreadsheet, 78 tangent (to a curve), 268 sqrt, 21, 22, 38 taylor, 30, 143, 401 INDEX 463

Taylor expansion, 30, 106 tuple, 68 Tenenbaum, Gérald, 80 test of zero, 22 ulp, 237 test_poly, 178 ulp (unit in the last place), 237 text, 89 uniform distribution, 79 theorem union (of graphs), 366 Borsuk-Ulam, 365 valuation, 132 Cayley-Hamilton, 171 values, 71 Chinese Remainder, 117 Vandermonde determinant, 108 fundamental theorem of algebra, var, 13, 227 257 variable Kuratowski’s, 364 dependent, 214 Menger’s, 373 independent, 214 Pocklington’s, 119 Python, 41, 51 Schwarz’, 33 symbolic, 21 three.js, 88 variable_name, 129 timeit, 115 variable_names_recursive, 179 TimeSeries, 78 variables, 129, 227 trac.sagemath.org, xiii variation of a function, 21 trace, 278, 287 variety, 183, 191, 196 trace, 135 vector, 35 transformation matrix, 164 construction, 155 transformed_basis, 185, 210 vector, 35, 155 transpose, 158, 283, 285, 288 vector space, 37 transposition matrix, 159 vector_space_dimension, 191 transvection, 159, 160 VectorSpace, 153 trapezoidal rule, 307 Verhulst equation, 221 traveling salesman problem, 374, 395 vertex (graph), 361 traveling_salesman_problem, 375 vertex_connectivity, 373 tree, 365, 376 vertex_cut, 373 Steiner, 375 vertex_disjoint_paths, 373 tree, 365 visualization, 74, 367 triangular decomposition of an ideal, 197 WeightedIntegerVectors, 337 triangular form, 37, 161, 174 while, 40 triangular_decomposition, 185, 191, Windows, 4 197 with, 40 triangularization, see triangular form x (symbolic variable), 13 trig_expand, 402 xgcd, 132 trig_simplify, 402 xrange, 44, 343 trigonometric function, 9, 21, 244 trigonometry, 209 yield, 40, 265, 345 True, 11, 103 truncate, 30 Zariski closure, 190, 192 truncation of a series, 141 zero, 154 try, 40, 79 ζ (Riemann zeta function), 31, 49 464 INDEX zip, 69 ZZ, 101, 114, 256, 273