Nonlinear Algebra / Algebraic Geometry
- Applications
- Systems
- Systems
- Univariate Polynomials
- Linear modelling of nonlinear systems
- Algebraic Geometry
- Resources
By nonlinear algebra I mean things relating to multivariate polynomials
AKA maybe applied algebraic geometry
Applications
- Kinematics
- Optics
- Thermodynamics, Legendre
- Global optimization
- Integer programming
- combinatorial optimization (sudoku and like)
- Circuits. Relational algebra parametrized by omega
- Algebraic statistics https://en.wikipedia.org/wiki/Algebraic_statistics https://franknielsen.github.io/Books/CuratedBookLists.html
- game theory
- Invariants? grobner bases and applications - buchberger
Systems
https://github.com/algebraic-solving/msolve msolve. a C library for grobner basis and root calculations. Intresting msolve: A Library for Solving Polynomial Systems
Systems
- Axiom
- Maple
- Maxima
- Mathematica
- Octave
- GAP
- REDUCE redlog quantifier elimination
- Groebner.jl
Singular
I hex editted singular to use libreadline.so.8. I’m a hacker now.
A First Course in Computational Algebraic Geometry
Singular -c "
ring R = 0, (x,y,z), lp;
poly f1 = x+y+z-1;
poly f2 = x2+y2+z2-1;
poly f3 = x3+y3+z3-1;
print f1;
quit;
"
macaulay2
Sympy
Sympy has a ton in it nice little grobnr basis tutorial
https://www.philipzucker.com/computing-syzygy-modules-in-sympy/
from sympy import *
x,y,z = symbols("x y z")
f = x**2 + 1
print(dir(f))
print(f.diff(x))
Univariate Polynomials
We’re really good at these. Fundamental theorem of algebra
Polynomial division
Linear modelling of nonlinear systems
Numerical Polynomial Algebra by Hans Stetter
Resolvents
Vandermonde Matrix
The big question: Linear in what? You can always determine a polynomial as a linear algebra problem given sample points. A polynomial can bethought of as linear in it’s coefficients
Companion Matrix
wiki A matrix designed to have characterstic polynomial
Sylvester matrix
#
Homotopy Continuation
- Bertini
- homotopy.jl
- phcpack
# https://ofloveandhate-pybertini.readthedocs.io/en/feature-readthedocs_integration/index.html
import pybertini
Grobner Bases
See Also
- Term Rewriting
Given some polynomial, a question is
- is it a combination of the polynomials you have (is it in the ideal)
- Is the set it describes a subset of the set described by your system of equations.
For 1, if you can find coefficients to actually demonstrate the combination, you’re good. Polynomial division is a way to guess/derive such coefficients. It turns out that
You can use such a procedure to reduce a set of equations for example.
A different problem is to find a more explicit representation of the set
- solution points
- a parametrization of the surface. Turning constraints into a generative form is a theme all over the place. Turning hyperplanes into vertices or vice versa for example.
Monomial ordering - one can pick an ordering on the monomials. There are some sensibility conditions.
By putting the highest monomial on the lhs and the rest of the polynomial on the right x^m - p(x) = 0 --> x^m = p(x)
and then orienting the equation x^m -> p(x)
, it starts to look like a term rewriting system. The term ordering makes it terminating, but it is not guaranteed to be confluent (order of application of the rules matters) .
Polynomial division is a more sophisticated version of this that more or less applies the rule “many” times. It’s kind of like the addition vs multiplicative for of euclidean division.
Pattern matching works modulo AC and rules of arithmetic btw.
Kind of an interesting picture.
To divide by 272, you get to remove a 200 by “adding” a -72
200 -> -72
. The final result is the remainder. The proof or path or trace is the divisor itself.
Bases as a polynomial 2 b^2 + 7 * b + 2 rewrite system: 2 b ^2 -> -7 b - 2 10 -> b
Buchberger’s algorithm S-polynomials completition comparison and application to linear solving S-polynomials - any combination of polynomials that are zero is also zero. The s-polynimals try to eliminate the hghest monomials in the obvious way. This is a way to generate new identities that may have smaller coefficients or eliminate variables.
Specialization:
- Gaussian elimination
- Euclid’s algorithm
Cylindrical Algebraic Decomposition (CAD)
NLSAT
Algebraic Geometry
Variety
A surface / subset described by a set of polynomials that are zero on the set.
whole space {} - no constraints lines {cx +dy - a} points {x - a, y - b} empty set {1} unsolvable equations
circles, hyperbolas, parabolas. Quadratc equation. Useful for distance constraints. {x^2 + y^2 - 1}
perpendicul
cubic stuff
I mean, what more could you want? You can form intersections and unions of these objects. projection - not guarantted to stay an algerbaic variety. You can form a closure over approximation.
Rings
https://en.wikipedia.org/wiki/Ring_(mathematics) Something with addition and multiplication operations. Maybe not division though.
examples:
- polynomials
- Integers
- Modular Integers.
- Matrices
Spectrum
localization (?). Extending the ring to allow certain denominators. Multiplicative set - a set of ring (monoid?) elements closed under multiplication.
Quotient Rings
Rationalizing rings. A pair of ring elements quotiented by equivalence relation ac + bd = 0
Ideal
an upward closed set of a ring. You can multiply by anything in the ring and still be in the ideal. You can add elements of ideal. You can generate an ideal from a given set of elements. Grobner basis is finding an equvalent basis with nice properties. Ideal corresponds to variety I({p_i}) because multplying and adding zero points retain zero points. I({p_i}) is a kind of closure operation
Intersection of variety is union of ideals $V(I \cup J) = V(I) \cap V(J)$ . Bigger ideals are bigger sets of constraints, hence smaller geometrical sets.
Ideal product I.J. { fg | f in I and g in J }. V(I.J) = V(I) cup V(J) It performs unions. For example 2 points
Set difference can only be overapproxmated. Saturation
Projection can also only be overapproximated.
x and x^2 are both zero at x but generate different varieties. Operator V(I) is lossy. Adjunction or galois connection Ideal is a set of polynomials. A certain kind of set.
Ideal membership question. Is given poly in ideal.
Subideal question. {p1, p2, p3} |- {q1, q2}
Radical ideal root(I) := {g | g^k elem I}. The radical ideal of x^3 is x. We are getting rid of redundant powers.
Strong NullStullensatz. I(V(I)) = root(I)
. Roughly, going to the zero set kind of removes the multiplicity in the defning polynomaisl
Prime Ideals are ideals suc that if ab is in I, then either a or b is in I. ideal generated by x^2 is not prime, since x is not in ideal. {x,y} is. Prime ideals <->
Minimal ideals <-> points {x - a, y - b} is geometrically the point (a,b)
Polynomial Maps
A^n -> A^m
Can be represented as a vector m of polymomials in variables n.
If they are linear maps, this is analog of matrix. [ax + by, cx + dy] === [a b; c d]
But we want to consider subsets of affine space
Maps from quotient rings. Maps to quotient rings.
Twisted Cubic t,t^2,t^3
Parametrization
Calculus (infinitesimals) as quotient rings. Q(x,eps)/eps^2
Nullstullensatz
Variety Algebraic Set Zariski Topology - closed sets are varieties. You can describe points and surfaces, which are closed sets also under typical metric topology. Consider Marshall. Mitchell benabou.
Invitation to Nonlinear Algebra Sturmfels Book
Mumford Red Book
Tropical Algebra
Use min plus semiring. Like the asymptotic bones of nonlinear algebra (when you go far out, big terms domainate. Take a log which is like soft-max) Has a more combinatorial flavor which may be useful.
Semidefinite Programming
See also notes on mathematical optimization semidefinite programming Positivestullensatz Sum of squares
Modules
Linear algebra but wih rings instead of fields. You can’t divide by scalars anymore.
grobner for rings with inifitniely many variables
Free Resolution
chain complex betti numbers
schreyer’s algorithm
Koszul complex buchssbaum-rim complex eagon-northcott complex somethignbaum
exterior powers symmettric produce tensor product hom