{"id":13993422,"url":"https://github.com/adamnemecek/adjoint","last_synced_at":"2025-07-22T17:32:24.885Z","repository":{"id":45621684,"uuid":"232170699","full_name":"adamnemecek/adjoint","owner":"adamnemecek","description":"Thoughts on adjoint, norm and such.","archived":false,"fork":false,"pushed_at":"2022-12-21T20:04:37.000Z","size":109,"stargazers_count":165,"open_issues_count":1,"forks_count":5,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-11-29T03:15:42.210Z","etag":null,"topics":["adjoint-functors","adjoint-operator","category-theory","norm"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamnemecek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-06T19:31:27.000Z","updated_at":"2024-08-20T10:31:47.000Z","dependencies_parsed_at":"2023-01-30T04:45:39.358Z","dependency_job_id":null,"html_url":"https://github.com/adamnemecek/adjoint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamnemecek%2Fadjoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamnemecek%2Fadjoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamnemecek%2Fadjoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamnemecek%2Fadjoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamnemecek","download_url":"https://codeload.github.com/adamnemecek/adjoint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227143626,"owners_count":17737198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adjoint-functors","adjoint-operator","category-theory","norm"],"created_at":"2024-08-09T14:02:22.398Z","updated_at":"2024-11-29T14:32:45.825Z","avatar_url":"https://github.com/adamnemecek.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Adjointness, norm, fixed point and you...\n* [Join the `Adjoint` discord server](https://discord.gg/mr9TAhpyBW)\n\u003c!--\n* what's the deal with vanishing traces?\n\n* riesz representation theorem\n    * see the wikipedia on anti-linearity it sure looks like a fourier?\n\n\n* windwing number is very similar\n   * [Brouwers Fixed Point Theorem Proof using Winding Numbers](https://math.stackexchange.com/questions/3674669/brouwers-fixed-point-theorem-proof-using-winding-numbers)\n\n* de rahm twisted cohomology\n  * [Twisted de Rham cohomology, homological definition of the integral and \"Physics over a ring\"]https://arxiv.org/abs/0809.0086\n  * Definition. Physics is a part of mathematics devoted to the calculation of integrals of the form g(x)e^f(x)dx. Different branches of physics are distinguished by the range of the variable x and by the names used for f(x), g(x) and for the integral. For example, in classical statistical physics x runs over a symplectic manifold, f(x) is called the Hamiltonian function and the integral has the meaning of a partition function or of a correlation function. In a d-dimensional quantum field theory x runs over the space of functions on a d-dimensional manifold (the space of fields) and f(x) is interpreted as an action functional.\n  * note how this is a lot like fourier\n  * its an inner product (sum of a * b) where b is the circle\n\n* api is a fixed point\n  * the returned value\n\n* characters groups\n  * https://en.wikipedia.org/wiki/Character_group\n  * We can express explicit elements in the character group as follows: recall that elements in `U(1)` can be expressed as `exp(tau * i * x)`\n  * thereby we can express fourier (as below) `fou(k, n, N) = u1(-k * n / N)`\n\n* dijkstras semantics\n  * ralph levien: https://news.ycombinator.com/item?id=32919426\n\n* miniagda\n  * https://twitter.com/Lavoisierbug/status/1573897118942519297\n  * https://www.cse.chalmers.se/~abela/miniagda/#:~:text=bounded%20lambda%2Dabstraction,when%20i%20%3D%200\n\n* reversible computation\n  * curerntly computation is a semi-group, it should be a group\n\n* fourier-group connection\n\n  * check out dft wiki\n    * check out the clockface (https://en.wikipedia.org/w/index.php?title=Discrete_Fourier_transform\u0026oldid=1102326617)\n    * `fou(k, n, N) = exp(-im * tau * (k * n) / N)`\n    * fou projects a linear thing to a clock face\n    * entropy connection (below)\n\n* quantum entropy\n  * is fourier and entropy related\n    one is `\\sigma(x * exp(...))` other one is `sigma(x * log(x))`\n  * kl divergence gets rid of the minus sign\n    * fourier projects\n\n* lll lattice algorithm\n  * boaz barak lecture notes\n  * lattice reduction\n\n* https://twitter.com/Lavoisierbug/status/1573897118942519297\n  * simple dependently typed langauge\n\n* \"linear logic\" \"factorization systems\"\n   * orthomodular lattice (see vaughan pratt paper on quantum mechanics)\n   * martin hyland\n   * chu spaces factorizations\n* p == np\n   * i guess you fourier the program and the data and then do piecewise (?)\n   * check out\n\n* dual polynomials\n    * i wonder if the trick is that if we represent polynomials in terms of extrema, we have more information about the polynomials since the extrema are projective zeros\n  * when you keep projecting minima, you will eventually get a zero\n      * what is multiplication by (0 + eps) and (1 + eps)\n\n  * central limit theorem\n\n* read\n* think that the problem\n\n* from https://ncatlab.org/nlab/show/well-pointed+topos#general\n* To maintain this logical result in constructive mathematics (that is, without excluded middle in the metalogic), one must add the following requirements:\n    * the terminal object is indecomposable, and\n    * the terminal object is projective.\n\n\n* google topos \"fixed point\"\n    * Martin-Löf′s partial type theory, i.e., type theory with a fixed point operator, is extended with universes and given a domain-theoretic interpretation using\n    * the beauty about \"partial types with a fixed point\" is that you can infer the complete lattice (since you have a fixed point)\n\n* the reason why you dont want exluded middle is because that's the thing you are calculating in some sense, you don't want it to be\n    * excluded middle == orthogonality\n    * it's not that the property itself is\n\n\n* what is orthogonality in the context of linear logic and programs\n\n* look into coherent spaces\n    * this is an interpretation of logic as dual banach spaces\n* i guess a topos is a point in a space that has a fixed point\n    *\n\n* how does fourier of programs work?\n    * bisimulation\n\n* what is the orthogonality in fourier,\nshould this be the program\n\n*\n* a linked list is nilpotent since if you keep `next^n(l)`\n\n\n* commutatity = orthogonality (note how orthogonal matrices commute, it's order invariant)\n* distributativity = adjoints\n* associativity = norm/delooping (see ncatlab on associativy)\n\n* contravariant lattice\n\n* branch and bound\n  * this is essentially adjoint and norm\n  *\n\n* https://qchu.wordpress.com/2012/11/06/string-diagrams-duality-and-trace/\n\n* i have been working under the assumption that i need to find periodicity of the whole program, what if i need to find periodicity of each of the possible execution traces? i imagine that these will have something in common that can be factored outs\n  * check out the clausen formula\n  *\n* discrete fourier transform\n  *\n* bisimulation\n* lattice fourier found\n* reciprocal lattice\n  * bravais lattice (there is only 14 of them)\n  * i wonder if the solution is that there will be a super lattice that if you shine light on it will light up only certain points on the lattice (thereby selecting the particular lattice) and then you can shine more light on it and read off the diffraction pattern\n* reciprocal lattice vectors\n  * see\n* crystals are defined by their pattern\n* i wonder if the trick is that you calculate the spectrum of the program (since it has a group structure) and then also calculate the\n* in the travelling salesman problem\n* noga alon\n  * spectral graph\n  * he talks about how\n* [Simulation and Bisimulations for Probabilistic Systems, and their Logical Contents](https://www.youtube.com/watch?v=j31R8r3YuzY)\n\n\n* \"computational algebraic geometry technique for determining nonlinear normal modes of structural systems\"\n* [adjoint functors and monads](https://ahilado.wordpress.com/2017/06/20/adjoint-functors-and-monads/)\n\n## orthogonality\n  * it means mutually exclusive\n    * \"In taxonomy, an orthogonal classification is one in which no item is a member of more than one group, that is, the classifications are mutually exclusive.\"\n  * what is orthogonality in the context of programming?\n  * what is duality in the context of programming\n  * i guess if you have an if statement,\n```swift\n  if a {\n    b\n  } else {\n    c\n  }\n```\nstatements b and c are orthogonal to each other (can't happen at once)\nbut statements a, b are dual to each other and so are a, c dual to each other\n* orthogonality also means rotated by one unit (think how in fourier)\n* think about transition matrices and orthogonality\n  * A term rewriting system is said to be orthogonal if it is left-linear and is non-ambiguous. Orthogonal term rewriting systems are confluent.\n  * In combinatorics, two n×n Latin squares are said to be orthogonal if their superimposition yields all possible n2 combinations of entries.[15]\n*\n\n* [Program Synthesis with Equivalence Reduction](https://par.nsf.gov/servlets/purl/10100598)\n  * \"How can we exploit operator semantics to efficiently explore large spaces of candidate programs?\"\n* \"fixed point\" cotangent\n  * https://legacy-www.math.harvard.edu/history/bott/bottbio/node18.html\n* iconic math books\n* https://twitter.com/SebastjanVoros/status/1499453039056465932\n  * calculus of self-reference\n  * https://gist.github.com/adamnemecek/4d88cde664f0e93548a65f36990c165e\n* [From parametricity to conservation laws, via Noether's theorem](https://dl.acm.org/doi/10.1145/2535838.2535867)\n  * programming using lagrangians\n  * Invariance is of pargamount importance in programming languages and in physics. In programming languages,\n\n* is the point of fixed points that they are points in a space that are commutative?\n  https://twitter.com/johncarlosbaez/status/1562102229724585990\n  * https://en.wikipedia.org/wiki/Braided_monoidal_category\n  * i guess one can think of this as a OS schedulers, when a lock is unlocked\n    * the threads t1, t2 can either be scheduled as t2, or t1 since it's commutative\n  * which matrices are commutative?\n\n* is the euler's formula really about relationship between `split-complex numbers`, `dual numbers` and `complex numbers`\n\n* pca genetics https://medium.com/swlh/a-gentle-introduction-into-the-application-of-principal-component-analysis-pca-in-genomics-269026453295\n* cotangent space = causality?\n* [The Fourier transform is a neural network](https://sidsite.com/posts/fourier-nets/)\n\n* [triangular matrix](https://en.wikipedia.org/wiki/Triangular_matrix#Forward_substitution)\n  * A matrix equation in the form {\\displaystyle L\\mathbf {x} =\\mathbf {b} }{\\displaystyle L\\mathbf {x} =\\mathbf {b} } or {\\displaystyle U\\mathbf {x} =\\mathbf {b} }{\\displaystyle U\\mathbf {x} =\\mathbf {b} } is very easy to solve by an iterative process called forward substitution for lower triangular matrices and analogously back substitution for upper triangular matrices. The process is so called because for lower triangular matrices, one first computes {\\displaystyle x_{1}}x_{1}, then substitutes that forward into the next equation to solve for {\\displaystyle x_{2}}x_{2}, and repeats through to {\\displaystyle x_{n}}x_{n}. In an upper triangular matrix, one works backwards, first computing {\\displaystyle x_{n}}x_{n}, then substituting that back into the previous equation to solve for {\\displaystyle x_{n-1}}x_{n-1}, and repeating through {\\displaystyle x_{1}}x_{1}.\n* are dual numbers and orthogonality are kind of the same\northogonal means\n  * `M * transpose(M) = I`\n  * `M *\n\n\n* range is a manifold\n  * the center of the a range is the fixed point eigenvalue since it's scale invariant\n  * actually maybe not\n\n* coevent\n  * [Quantum measures and the coevent interpretation](~grab25)\n* https://arxiv.org/pdf/math/0206103.pdf\n* cotangent causality (grab35.png)\n* why is a specturm important? it allows you to figure out the inverse easily in the case of circulant matrices, the\n\n* https://research.utwente.nl/en/publications/functional-programming-with-bananas-lenses-envelopes-and-barbed-w\n* [how is a graph like a manifold](https://arxiv.org/pdf/math/0206103.pdf)\n* http://web.archive.org/web/20160316230842/http://comonad.com/reader/2009/recursion-schemes/\n* cohomology computation\n* tangent bundle is the adjoint of sorts\n* turning a line into a circle/group with an exponent\n* `exp(x) = cos(x) + i*sin(x)`\n* `exp(x, ortho) = cos(x) + ortho * sin(x)`\n\n* https://en.wikipedia.org/wiki/Traced_monoidal_category\n  * (As shown later [12], the dynamical part of the Geometry of Interaction system was implemented using precisely the same tools required to model reversible (space-bounded) Turing machines).\n* \"traced monoidal categories\" \"geometry of interaction\"\n* \"geometry of interaction\" tangent\n* mathematical structure of stable physical systems\n* Proof-nets and the Hilbert space\n* \"abstract interpretation\" \"linear logic\"\n* cotangent = pullbacks\n* functional programming in sublinear space\n\n* https://plato.stanford.edu/entries/logic-linear/#hyland00ic\n\n* extensional vs intensional = value vs reference\n* moral proofs\n* linear (affine) logic is decidable and therefore rice's theorem does not apply\n  * from plato.stanford.edu\n\n* is there a better fourier that lets you calculate matrix inverse using said fourier?\n  * for a circulant matrix, one can use the fft of a row to calculate the inverse\n  * is there a transform that\n  * the inverse of a diagonal matrix\n  * inv(x::Circulant) = fft(row)\n* https://terrytao.wordpress.com/tag/pontryagin-duality/\n  * note how at the end there's |x|^2\n  *\n  ```julia\n  function inv(x::Matrix)\n\n  end\n  ```\n\n* what is the relationship between nipotence and orthogonality\n  * are dual numbers self orthogonal?\n\n* fourier relies on nilpotence\n  * https://en.wikipedia.org/wiki/Pontryagin_duality#Fourier_transform_and_Fourier_inversion_formula_for_L1-functions\n  * https://en.wikipedia.org/wiki/Riemann%E2%80%93Lebesgue_lemma\n  * \"Note the Fourier transform depends on the choice of Haar measure. It is not too difficult to show that the Fourier transform of an {\\displaystyle L^{1}}L^{1} function on {\\displaystyle G}G is a bounded continuous function on {\\displaystyle {\\widehat {G}}}\\widehat{G} which vanishes at infinity.\"\n\n* is the\n\n* nilpotence == projectivity https://arxiv.org/pdf/1406.3455.pdf\n\n## fourier analysis is a special case of representation theory\n* https://mathoverflow.net/questions/37021/is-fourier-analysis-a-special-case-of-representation-theory-or-an-analogue\n* http://www.math.uchicago.edu/~may/VIGRE/VIGRE2009/REUPapers/Patel.pdf\n\n* can we get an inverse matrix using a fourier?\n  * yes for circulant matrices\n\n* https://en.wikipedia.org/wiki/Circulant_matrix\n* \"In numerical analysis, circulant matrices are important because they are diagonalized by a discrete Fourier transform, and hence linear equations that contain them may be quickly solved using a fast Fourier transform.[1] They can be interpreted analytically as the integral kernel of a convolution operator on the cyclic group {\\displaystyle C_{n}}C_{n} and hence frequently appear in formal descriptions of spatially invariant linear operations.\"\n\n# category theory\n* the nice thing about category theory is that theoretically unlike with normal functions, when you have say `F=m*a` with imperative programming, you have to write three functions\nto figure out each of the variables, with category theory you can ideally just write a single category and the rest will be done automatically\n*\n\n# computation as manifold\n* you can think or a program as\n* ike and mike talk about this\n\n\n\n# reversible computation\n* https://en.wikipedia.org/wiki/Cotangent_space\n\n  * given a state at time T, the adjoint is the tangent space, the set of possible spaces that we can reach when we combine if with an event (event space duality) (redo)\n  * cotangent space is the space of the spaces coming into the current state (undo)\n  * \"The tangent space and the cotangent space at a point are both real vector spaces of the same dimension and therefore isomorphic to each other via many possible isomorphisms. The introduction of a Riemannian metric or a symplectic form gives rise to a natural isomorphism between the tangent space and the cotangent space at a point, associating to any tangent covector a canonical tangent vector.\"\n\n* fixed point\n# perception\n* mind imposes a linear structure on periodic phenomena (find the paper that says this)\n* joy of visual perception\n*\n\n* godel escher bach talks about braiding\n* he is right about\n\n* In those days, by a “mathematicus,” or “Sternseher,” was understood a man that earned his living by making astrological predictions.\n* bifuraction + \"fixed point\"\n\n* [predictive coding + autodiff](https://arxiv.org/abs/2106.13082)\n\n* subspace is a subgroup\n  * one can think of inference as rebuilding a space from it's subspaces\n* [Dimensionality Reduction with Subspace Structure Preservation](https://arxiv.org/abs/1412.2404)\n* [A Subspace-based Approach for Dimensionality Reduction and Important Variable Selection](https://arxiv.org/abs/2106.01584)\n* cobordism hypothesis\n  * Yes. The physical motivation is that topological field theories, as examples of quantum field theories, should be fully local, meaning that one should be able to calculate any information about a (fully extended) TQFT 𝑍 on a manifold 𝑀 by cutting 𝑀 into pieces, formulating 𝑍 on these pieces, and gluing. The takeaway in physics is that in any class of systems thought to be described by topological field theories, one should be able to determine the TQFT for a particular system from how the system behaves on a neighborhood of a point.\n  * https://mathoverflow.net/questions/309093/physical-consequences-of-cobordism-hypothesis\n* linearizability\n  * this is the same as trace theory, trace theory has the\n  * https://en.wikipedia.org/wiki/Linearizability\n    * check the list of\n  * spectrum == history\n  *\n\n* [A Prehistory of n-Categorical Physics](https://math.ucr.edu/home/baez/history.pdf)\n  * But in our universe, is also possible for physical systems to undergo a special sort of process where they ‘switch places’:\n  * this switching places: check out whitney embedding\n\n* [Generalizing Topology via Chu Spaces](https://arxiv.org/abs/1101.2999)\n\n* cobordism + thom spectra\n* https://en.wikipedia.org/wiki/Whitney_embedding_theorem\n  * the curve has intersections (i.e.)\n* \"whitney embedding theorem\" \"fixed point\"\n  * https://valentermz.github.io/documents/slides/fixed_point_theorems-handout.pdf\n* [taken's embedding theorem]()\n* [Discovering State Variables Hidden in Experimental Data](https://arxiv.org/abs/2112.10755)\n* https://www.dpmms.cam.ac.uk/~wz302/randDoc/tangent.pdf\n\n* \"dual numbers\" cotangent\n\n* robotics learning physics\n  * https://news.ycombinator.com/item?id=32329783\n\n* Epicycles worked very well and were highly accurate, because, as Fourier analysis later showed, any smooth curve can be approximated to arbitrary accuracy with a sufficient number of epicycles.\n  * https://en.wikipedia.org/wiki/Deferent_and_epicycle\n* scale invariance is a big thing in quantum mechanics\n  * can you make neural networks scale invariant?\n* find \"noga alon\" p == np paper, p==np\n  * this maybe? https://www.cs.tau.ac.il/~nogaa/PDFS/spectalg.pdf\n* bisimuation + coinduction\n\n* groupoid + closed monoidal category\n\n* [Induction, Coinduction, and Fixed Points:\nIntuitions and Tutorial](https://arxiv.org/pdf/1903.05127.pdf)\n  * talks about fixed points in other papers\n* covariant, cotangent\n* cocycle, coboundary https://ncatlab.org/nlab/show/coboundary\n* \"closed monoidal category\" cotangent\n* Discrete-Time Machines in Closed Monoidal Categories.\n* \"Kalman has published several works on realization, controlability, and observability\"\n(see [14] and [15])\n\n  * https://ncatlab.org/nlab/show/coboundary\n* spectral theorem book\n* https://graphicallinearalgebra.net/\n * colored graph nodes are orthogonal\n* why hypergraphs https://news.ycombinator.com/item?id=32283022\n * talks about unifying things\n* is the kalman fiter just a low pass filter https://news.ycombinator.com/item?id=32271351\n* [A Unifying Review of Linear Gaussian Models\", by Sam Roweis and Zoubin Ghahramani.](https://news.ycombinator.com/item?id=32271693)\n* adjoint method\n* coinductive calculus\n  * https://news.ycombinator.com/item?id=32191372\n* realizability on ncatlab\n * andrej bauers phd thesis talksa bout fixed point newton method\n  http://math.andrej.com/wp-content/uploads/2006/04/thesis.pdf\n  * One possible way to find a computational interpretation for univalence in homotopy type theory is to interpret it in using realizability. Stekelburg provides a univalent universe of modest Kan complexes.\n  * samson abramsky talks about this too\n  * kantian synthetic vs analytical\n* https://hal.inria.fr/hal-02548315/document\n\n* [fourier mind](https://en.wikipedia.org/wiki/Holonomic_brain_theory#:~:text=Holonomic%20brain%20theory%2C%20also%20known,in%20or%20between%20brain%20cells.)\n  *[ ](https://www.google.com/books/edition/Biological_and_Quantum_Computing_for_Hum/W-3wzjxqUDIC?hl=en\u0026gbpv=0)\n\n* [The phrasal lexicon](https://aclanthology.org/T75-2013.pdf)\n\n* [Fixed point index](https://en.wikipedia.org/wiki/Fixed-point_index)\n* [Nonlinear Dynamics and Chaos](https://www.amazon.com/Nonlinear-Dynamics-Student-Solutions-Manual/dp/0813349109/ref=pd_lpo_1?pd_rd_i=0813349109\u0026psc=1)\n * bifucation (stepanov too)\n *\n* [A structural approach to reversible computation](https://arxiv.org/abs/1111.7154#:~:text=Samson%20Abramsky,progresses%20towards%20its%20physical%20limits.)\n* [Towards a Theory of Programming Languages](https://group-mmm.org/~eberhart/research/report_m2.pdf)\n* [Adjoint Reactive GUI Programming](https://arxiv.org/pdf/2010.12338.pdf)\n* [Jordan curve theorem](https://en.wikipedia.org/wiki/Jordan_curve_theorem#Discrete_version)\n  * The Jordan curve theorem can be proved from the Brouwer fixed point theorem (in 2 dimensions),[1] and the Brouwer fixed point theorem can be proved from the Hex theorem: \"every game of Hex has at least one winner\", from which we obtain a logical implication: Hex theorem implies Brouwer fixed point theorem, which implies Jordan curve theorem.[2]\n* [Concurrent Separation Logic Meets Template Games](https://arxiv.org/pdf/2005.04453)\n* [Bipolar theorem for quantum cones](https://link.springer.com/article/10.1007/s10688-012-0029-x)\n * In this note duality properties of quantum cones are investigated. We propose a bipolar theorem for quantum cones, which provides a new proof of the operator bipolar theorem proved by Effros and Webster. In particular, a representation theorem for a quantum cone is proved.\n* [Pseudospectral optimal control](https://en.wikipedia.org/wiki/Pseudospectral_optimal_control)\n  * Moreover, their structure can be highly exploited to make them more computationally efficient, as ad-hoc scaling[21] and Jacobian computation methods, involving dual number theory[22] have been developed.\n* [Geometry of Interaction and the Dynamics of Proof Reduction: a tutorial](https://cgi.luddy.indiana.edu/~ehaghver/Tutorial.pdf)\n\n* [Geometry of Interaction and linear combinatory algebras](https://www.researchgate.net/publication/220173613_Geometry_of_Interaction_and_Linear_Combinatory_Algebras)\n  We illustrate the construction on six standard examples, representing both “particle-style” as well as “wave-style”Geometry of Interaction\n\n* https://www.sciencedirect.com/topics/mathematics/embedding-theorem\n\n* [Geometrical semantics for linear logic (multiplicative fragment)](https://core.ac.uk/download/pdf/81144945.pdf)\n\n* https://core.ac.uk/download/pdf/81144945.pdf\n\n* dao of functional programming\n\n* geometry of syntax and semantics for directed file transformations\n* von neumann patent for differential analyzer\n\n\n\n* differential geometry of interaction\n* [The Geometry of Interaction of Differential Interaction Nets](https://arxiv.org/pdf/0804.1435.pdf)\n\n* https://twitter.com/deontologistics/status/1518329618813657088\n* [Factor graph](https://en.wikipedia.org/wiki/Factor_graph)\n * is a tree? fixed point?\n * https://en.wikipedia.org/wiki/Invariant_theory reynolds operator idempotent\n\n* https://en.wikipedia.org/wiki/Multiplexer\n* invariant theory + probability: https://www.maths.ox.ac.uk/node/35937\n\n* when i was studying probability, math, physics, cs I was always more interested in the things they had in common rather than the pecularities. I was trying to figure out what was the invariant of all these sciences. It should therefore come as no surprise that the invariant is in fact the idea of invariants.\n\n* https://github.com/adamnemecek/ChuCalculator/\n* http://chu.stanford.edu/source/\n* full inverse is inv(x) = a' / (a' * a)\n\n#\n* [SOME GEOMETRIC PERSPECTIVES IN CONCURRENCY THEORY]()\n* https://en.wikipedia.org/wiki/Ultrafinitism\n\n# chu spaces + spectrum / fixed point\n* https://link.springer.com/article/10.3103/S1055134409030055\n\n# p*q*inv(p)\n* https://en.wikipedia.org/wiki/Conjugacy_class\n* https://en.wikipedia.org/wiki/Adjoint_representation\n* https://en.wikipedia.org/wiki/Spectral_theorem\n\n# [A Novel Spectral Coding in a Large Graph Database](https://openproceedings.org/2008/conf/edbt/ZouCYL08.pdf)\n\n# can you speed up type inference by using fourier?\n* [Cubical Type Theory](https://www.cse.chalmers.se/~coquand/face.pdf)\n\n* [Asymptotic spectra: Theory, applications and extensions](https://staff.fnwi.uva.nl/j.zuiddam/papers/convexity.pdf)\n# \"type theory\" factorization + spectrum\n\n\n# determinant is  the volume of the parallepiped (matrix inverse)\n\n# jordan\n* https://en.wikipedia.org/wiki/Jordan_normal_form\n\n[Least and Greatest Fixed Points in Linear Logic](https://arxiv.org/abs/0910.3383.pdf)\n\n## lagrangian \u0026 noether theorem\n* they are invariantsjor\n\n## filters\n* useful for defining continuity\n * https://en.wikipedia.org/wiki/Filters_in_topology#Filters_and_prefilters\n * dual ideal\n * https://en.wikipedia.org/wiki/Invariant_measure\n * https://en.wikipedia.org/wiki/Invariant_(mathematics)\n\n\n## paxos lattice\n## paxos linearizable\n* [Linearizable Replicated State Machines with Lattice Agreement](https://arxiv.org/abs/1810.05871)\n\n\n\n\n## path \"fixed point\"\n* [Solving Fixed-Point Problems with Inequality and Equality Constraints via a Non-Interior Point Homotopy Path-Following Method](https://www.hindawi.com/journals/mpe/2017/3456834/)8\n * \" In this paper, we provide a constructive proof of the general Brouwer fixed-point theorem and then obtain the existence of a smooth path which connects a given point to the fixed point.\"\n\n* [A walk over the shortest path: Dijkstra’s Algorithm viewed as fixed-point computation](https://www.cs.utexas.edu/users/misra/psp.dir/WalkShortestPath.pdf)\n\n* [On Paths Generated by Fixed Point Algorithms](https://www.jstor.org/stable/3689213)\n\n## spectral logic\n* From proof-nets to bordisms: the geometric meaning of multiplicative connectives\n* http://pi.math.cornell.edu/m/People/PhD/2005Aug/slavnov\n* what's up with the cones?\n * coherence (technically — a conic subset of the tangent bundle)\n* https://news.ycombinator.com/item?id=31228934 mentions cones, what's up with that? are they just adjoints? normed cone\n\n* [Towards a semantics for higher-order quantum computation](https://www.mscs.dal.ca/~selinger/papers/cones.pdf)\n\n* google spectral logic\n* i found a reversible logic synthesis book thing that has some czech people mention using quantum logic for generalization of probability\n * Quantum logics as underlying structures of generalized probability theory\n* [Linear logic in normed cones: probabilistic coherence spaces and beyond](https://arxiv.org/abs/1803.06005)\n\n## what is linearity\n* when you lookup the standard definition of linearity you get this\n* Additivity: f(x + y) = f(x) + f(y).\n * this is adjoint\n* Homogeneity of degree 1: f(αx) = α f(x) for all α.\n * this is norm\n\n## constructivism\n* [Constructivist Perspective on Physics](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.395.56\u0026rep=rep1\u0026type=pdf)\n\n##links to sort out\n* [space of interaction](https://arxiv.org/pdf/2104.13795.pdf)\n\n## linear logic + operator algebras\n* google search for \"linear logic\" fourier\n* girard \"Moreover, if we remember that coding is based on the development by means of Fourier series (which involves the Hilbert space) everything that was done can be formulated in terms of operator algebras.\" (from advances in linear logic the first paper page 38)\n\n* [Fixed points in programming: datatypes and protocols](https://math.usask.ca/fvk/Cockett%20talk%20Saskatoon-2014.pdf)\n* [What is a good process semantics?](https://pages.cpsc.ucalgary.ca/~robin/talks/estonia.pdf)\n\n## chu spaces + fixed points\n* [Chu Spaces, Concept Lattices, and Domains](http://www.entcs.org/files/mfps19/83018.pdf)\n* [APPROXIMABLE CONCEPTS, CHU SPACES,\nAND INFORMATION SYSTEMS](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.387.6096\u0026rep=rep1\u0026type=pdf)\n* [](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.387.6096\u0026rep=rep1\u0026type=pdf)\n* [A mosaic of Chu spaces and Channel Theory I: Category-theoretic concepts and tools](https://chrisfieldsresearch.com/mosaic1-pre.pdfce)\n* operad is a norm\n\n## query: spectral methods probability\n* [Spectral methods for a generalized probability theory](https://www.ams.org/journals/tran/1965-119-03/S0002-9947-1965-0183657-6/S0002-9947-1965-0183657-6.pdf)\n\n* [On modeling and complete solutions to general fixpoint problems in multi-scale systems with applications](https://fixedpointtheoryandapplications.springeropen.com/articles/10.1186/s13663-018-0648-x)\n# abstract interpretation and programsyntehsis are adjoints\n*\n\n* lists are nilpotent (you reach nil eventually)\n\n# all computable functions are continous\n * https://cs.stackexchange.com/questions/80978/why-are-computable-functions-continuous\n * https://wikimpri.dptinfo.ens-cachan.fr/lib/exe/fetch.php?media=cours:upload:cours-2021-mpri-partie-i-goodmpri.pdf\n* [Sometimes all functions are continuous](http://math.andrej.com/2006/03/27/sometimes-all-functions-are-continuous/#:~:text=A%20function%20is%20computably%20continuous,of%20are%20needed%20to%20determine%20.)\n\n* a dfa and an nfa can both be represented as a binary transition matrix meaning one can calculate their fourier\n\n* boundary value\n * https://matjohn.ku.edu/Notes/Math951Notes_Ch4.pdf\n * https://advancesindifferenceequations.springeropen.com/articles/10.1186/1687-1847-2014-14\n * [A fixed point iterative method for the solution of two-point boundary value problems for a second order differential equations](https://www.sciencedirect.com/science/article/pii/S1110016817302958value )\n\n* google: foruier \"travelling salesman\"\n * [Optical processor for solving the traveling salesman problem (TSP)](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.211.150\u0026rep=rep1\u0026type=pdf)\n* A game semantics for proof search: Preliminary results\n\n* diagonalization \u0026 markov property https://www.math.wustl.edu/~freiwald/309markov.pdf\n* what is the meaning of orthogonality (in the context of c*?)\n* qr decomposition = upper triangular * diagonal\n* upper trianglular = modulo\n* fixed point self-referentiality https://link.springer.com/article/10.1007/BF01405490\n* bisimulation https://en.wikipedia.org/wiki/Bisimulation#Fixpoint_definition\n * Bisimilarity can also be defined in order theoretical fashion, in terms of fixpoint theory, more precisely as the greatest fixed point of a certain function defined below.\n* https://eprints.illc.uva.nl/id/eprint/969/1/MoL-2015-28.text.pdf\n* [Coalgebras, Chu Spaces, and Representations of Physical Systems](https://arxiv.org/abs/0910.3959)\n* [Big Toy Models: Representing Physical Systems As Chu Spaces](https://arxiv.org/abs/0910.2393)\n\n# non-commutative linear logic\n* [On noncommutative extensions of linear logic](https://arxiv.org/pdf/1703.10092.pdf)\n\n# reciprocal lattice\n * https://en.wikipedia.org/wiki/Reciprocal_lattice\n * In physics, the reciprocal lattice represents the Fourier transform of another lattice\n\n# operator algebra\n * https://www.google.com/books/edition/Advances_in_Linear_Logic/ROEf2h5FvD4C?hl=en\u0026gbpv=1\u0026dq=%22operator+algebra%22+logic\u0026pg=PA38\u0026printsec=frontcover mentions operator algebras\n* Optimal Implementation of Functional Programming Languages: https://github.com/asperti/BOHM1.1\n* [OPERATOR ALGEBRAS AND THE OPERATIONAL SEMANTICS OF PROBABILISTIC LANGUAGES](https://cyberleninka.org/article/n/1010639)\n* [Semantics for a Quantum Programming Language by Operator Algebras](https://arxiv.org/pdf/1412.8545.pdf)\n* [Prolegomena to an Operator Theory of Computation](https://www.mdpi.com/2078-2489/11/7/349/htm)\n* equivalence of boundedness and continuity https://en.wikipedia.org/wiki/Bounded_operator\n * note that all computable functions are continous\n\n## spectral theory\n * [The Fourier transform on the real line is in one sense the spectral theory of differentiation qua differential operator.](https://en.wikipedia.org/wiki/Spectral_theory)\n* [\"Hilbert himself was surprised by the unexpected application of this theory, noting that \"I developed my theory of infinitely many variables from purely mathematical interests, and even called it 'spectral analysis' without any presentiment that it would later find application to the actual spectrum of physics.\"](https://en.wikipedia.org/wiki/Spectral_theory)\n* https://en.wikipedia.org/wiki/Riesz_projector\n\n* PROBABILITY, MARXISM, AND QUANTUM ENSEMBLES https://history.ubc.ca/wp-content/uploads/sites/23/2019/06/probability2012.pdf\n\n* https://en.wikipedia.org/wiki/Spectral_theorem\n* https://math.stackexchange.com/questions/1815161/relationship-between-fourier-coefficients-eigenvalues-and-the-spectrum-of-a-ri\n*  prime number decomposition of the fourier transform https://arxiv.org/pdf/1410.2054v1.pdf\n* https://math.stackexchange.com/questions/25126/is-it-possible-to-link-the-eigenvalues-of-a-matrix-to-the-fourier-transform-of-t\n\n* https://en.wikipedia.org/wiki/Circulant_matrix\n * In numerical analysis, circulant matrices are important because they are diagonalized by a discrete Fourier transform, and hence linear equations that contain them may be quickly solved using a fast Fourier transform.[1] They can be interpreted analytically as the integral kernel of a convolution operator on the cyclic group {\\displaystyle C_{n}}C_{n} and hence frequently appear in formal descriptions of spatially invariant linear operations.\n\nfourier number multiplication\n* https://math.stackexchange.com/questions/27444/integer-multiplication-using-fft\n\n* [A Generic Logic for Proving Linearizability](https://artkhyzha.github.io/papers/fm16-extended.pdf)\n\n* [The Fourier Transform As Diagonalization](https://www.science20.com/jon_lederman/fourier_transform_diagonalization)\n\n[duality of state and observations](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.7075\u0026rep=rep1\u0026type=pdf)\n[Parallel algorithms for finding common fixed points of paracontractions](https://www.researchgate.net/publication/233110331_Parallel_algorithms_for_finding_common_fixed_points_of_paracontractions)\n\n* proof net \u0026 string diagram\n * [Proof Diagrams for Multiplicative Linear Logic](https://arxiv.org/pdf/1606.09016.pdf)\n *\n\n## fixed point\n* Fixed points are everywhere\n* paxos is a fixed point algorithm\n * [Generalized Consensus and Paxos](https://www.semanticscholar.org/paper/Generalized-Consensus-and-Paxos-Lamport/fc3fbb4c76448e8968f8a19f076d133b2e7a2849)\n* trace theory\n * [trace theory http://www.cas.mcmaster.ca/~cas724/2007/paper2.pdf\n\n\"fixed point\" \"reinforcement learning\"\n\n\"fixed point\" \"dynamic programming\"\n* http://www.mit.edu/~dimitrib/Semicontractive_Lecture3.pdf\n\n* https://people.eecs.berkeley.edu/~pabbeel/cs287-fa09/lecture-notes/lecture5-2pp.pdf\n\nhttps://bartoszmilewski.com/2019/11/06/fixed-points-and-diagonal-arguments/\n\n* https://en.wikipedia.org/wiki/Fixed_point_(mathematics)\n *\n\n* given a map, you can decompose it to a nilpotent and a invertible part https://web.evanchen.cc/notes/Harvard-55a.pdf (page 30)\n\nproduct of unions = sum of products (third kolmogorov axiom) really means that you have a norm?\n* 1/2 or 1/sqrt(2) are really just pythagorean theorem\n\n* contraction mapping + dynamic programming https://www.math.wustl.edu/~freiwald/309markov.pdf\n\n## fixed point\n* http://nlab-pages.s3.us-east-2.amazonaws.com/nlab/show/Lawvere's+fixed+point+theorem\n* In ‘Diagonal arguments and Cartesian closed categories’ (Lawvere 69) we demystified the incompleteness theorem of Gödel and the truth-definition theory of Tarski by showing that both are consequences of some very simple algebra in the Cartesian-closed setting.\n* http://emis.matem.unam.mx/journals/TAC/reprints/articles/15/tr15.pdf\n\n* \"geometry of interaction\" \"fixed point\"\n * [Towards a Typed Geometry of Interaction](https://cgi.luddy.indiana.edu/~ehaghver/HS-CSL05-LNCS.pdf)\n * [Geometry of Interaction and the Dynamics of Proof Reduction: a tutorial](https://cgi.luddy.indiana.edu/~ehaghver/Tutorial.pdf)\n\n* [Flow Analysis in the Geometry of Interaction](https://link.springer.com/content/pdf/10.1007/3-540-61055-3_37.pdf)\n* [Girard's !() as a reversible fixed-point operator](https://arxiv.org/abs/1309.0361)\n* [Feedback for linearly distributive categories: traces and fixpoints](https://www.math.mcgill.ca/rags/linear/trace.pdf)\n--\u003e\n\nThis document is very much a work-in-progress braindump, so please judge it accordingly.\n\n## Adjoint\n\nAdjointness expresses a condition that is essentially universal in mathematics, category theory, probability, logic, optimization, machine learning. It captures this difference between global and local. Adjointness operates locally, norm operates globally.\n\nWhat is adjointness? Depends on the context.\n\n[This page](http://www.reproducibility.org/RSF/book/bei/conj/paper_html/index.html) is illuminating.\n\nI like this definition:\n\u003e \"adjoint operator ... back-projects information from data to the underlying model.\"\n\nEssentially, it carries information about possible states at a point in time so that we can go back and forth. This allows you do optimizations that are otherwise not possible.\n\nOne can also see it as the _adversarial relationship_ between two things. This relationship is so common that once you see it, you can't unsee it.\n\n_Adjointness expresses a condition that allows for inference, causality, and optimization_. If the adjoint condition is met, information from one dimension can be used to make predictions about another dimension.\n\nNilpotence is another way of viewing adjointness.\n\n## Inverse\nAdjointness is only a part of the story. One often sees equations of the following form `inverse(x) = adjoint(x)/norm(x)`. Once you have `adjoint` and `norm`, you magically get `inverse`.\n\n## Norm\nNorm essentially allows you do a 1-on-1 comparisons. Yes, database normalization falls in this category. Another way of looking at this is that by dividing by norm, you get some in some sense _canonical form_ of the object in question. What is a canonical form? Computation.\n\n\u003e Systems of formal logic, such as type theory, try to transform expressions into a canonical form which then serves as the end result of the given computation or deduction.\n\nfrom [ncatlab](https://ncatlab.org/nlab/show/canonical+form).\n\n## Identity\n\u003e Every diagonal argument -- Cantor's theorem, Russell's paradox, Gödel's incompleteness theorem, the halting problem, the Y combinator, Curry's paradox, etc. -- uses the same basic trick. This trick is expressed explicitly by Lawvere's fixed point theorem: https://ncatlab.org/nlab/show/Lawvere%27s+fixed+point+theorem\n\n[source](https://twitter.com/shachaf/status/1183934586775957504)\n\nAs stated above `inverse(x) = adjoint(x)/norm(x)`. We add an additional constraint, the unitarity `identity(x) = x/inv(x)`.\n\n## Linear algebra\nThe inner and outer product can be expressed succinctly in terms of adjoints.\n```julia\ninner(a) = a'*a\nouter(a) = a*a'\n```\n\n## Fourier transform\n\nYou get the inverse of a Fourier transform by taking the adjoint of the sum (in this case, you do conjugate the exponents) and divide it by a norm `1/length(signal)`. Notice how adjoint operates locally (on the single exponents) and the norms operates globally (it knows how many elements are in the signal.\n\n\n## Category theory\nAdjoint functors are the foundation of \"category theory\". Adjoint functors capture [solutions to optimization problems](https://en.wikipedia.org/wiki/Adjoint_functors#Solutions_to_optimization_problems).\n\n\u003e The slogan is \"Adjoint functors arise everywhere\".\n\n\u003e — Saunders Mac Lane, Categories for the Working Mathematician\n\n\n## Monads\nMonads can be expressed in terms of [adjoint functors](http://www.stephendiehl.com/posts/adjunctions.html).\n\n## Linear logic\n\nLinear logic is a logic of resources, i.e. you have to use facts to derive new facts. E.g. if you have a fact, `I have $1` and a rule `$1 -\u003e ice cream`, you have to spend the dollar to get an ice cream.\nIt can also be seen as a [\"the interpretation of classical logic by replacing Boolean algebras by C*-algebras\"](https://en.wikipedia.org/wiki/Linear_logic). Linear logic can therefore be as a logic with `adjoint` and `norm`. See how linear logic maps to Chu spaces for further detail. Linear logic has been futher expanded into [adjoint logic](https://www.cs.cmu.edu/~fp/papers/adjoint18b.pdf).\nThe Rust borrow checker is based on a subset of linear logic. This is what allows Rust to reason about resource ownership statically.\n\n## Quantum mechanics\nIn the Linear logic section, we mention the idea of having to use axioms to derive new axioms. This is the core idea behind the [no-cloning theorem](https://en.wikipedia.org/wiki/No-cloning_theorem) as well. Futhermore the connections between C* (which has closure under adjoint and norm) and quantum mechanics are well documented (https://www.math.uchicago.edu/~may/VIGRE/VIGRE2009/REUPapers/Gleason.pdf).\n\n## Entity component system\nThis might be a stretch but I see some of these ideas present even in the context of [entity component systems](https://en.wikipedia.org/wiki/Entity_component_system). ECS is used heavily in games but it has applications beyond that.\nIn ECS, instead of using [arrays of structures, you use structure of arrays](https://en.wikipedia.org/wiki/AoS_and_SoA) which to me sounds like an adjoint. In ECS, your data is normalized so that it allows for `1-on-1` comparisons.\n\n## Chu spaces\n[Chu spaces](https://en.wikipedia.org/wiki/Chu_space) are essentially matrices with certain limitation [(no duplicate rows or columns)](http://math.chapman.edu/~jipsen/sysmics/slides/Pratt4thSYSMICS2018.pdf). They can be used to model [linear logic](http://chu.stanford.edu/live/#7).\n\nI think of Chu spaces as objects with the good properties of tensors (covariance, contravariance) without being a pain-in-the-ass to work with.\n\nCheck out this [blog post](https://boxbase.org/entries/2019/jul/15/chu-construction/).\n\n## Constructive mathematics\nConstructive mathematics is mathematics without the law of excluded middle. To prove something, you need to show it's existence. These is a connection between [constructive mathematics and linear logic](https://arxiv.org/abs/1805.07518).\n\n## Automatic differentiation\n\nAdjointness shows up in the context of [automatic differentiation](https://medium.com/@marksaroufim/automatic-differentiation-step-by-step-24240f97a6e6).\nThe algebraic foundation of automatic differentiation relies on dual numbers, i.e. numbers of the form `a + b * epsilon`. `Epsilon` is a constant such that `epsilon^2=0 but epsilon != 0`. This is similar to imaginary unit except it squares to 0 instead of -1.\n\nThe problem with differentiation as it's taught in school is that the expression length of the derivative grows exponentially which makes it prohibitively slow for computation.\n\nThis [blog post](https://blog.demofox.org/2014/12/30/dual-numbers-automatic-differentiation/) is pretty decent.\n\n## Probability\n\nVladimir Vovk has developed theory of probability that can be easily recast in terms of linear logic.\n\nRoughtly, translated [Kolmogorov's 3 axioms](https://en.wikipedia.org/wiki/Probability_axioms) can be read as follows:\n1.) norm\n2.) unitarity\n3.) adjointness (notice how we turn the inside product into the outside sum)\n\n\n## Potential applications\nI've been thinking about a new representation of polynomials. Instead of using zeros, one would use a sequence of dual numbers that capture the minima and maxima of the polynomial. Theoretically, one could then evaluate polynomials by some smooth interpolation between two neighbouring points. Dual numbers allow you to capture the curvature at point naturally so it would make sense that this should be possible.\n\n## Related concepts (these will be explained layer)\n* Young tableau\n* Non-commutative logic\n* Message passing + adjoint logic\n* [backpropagation (and others)](https://twitter.com/breandan/status/1324566706908483586)\n* spectral theorem\n\n\n\n\u003c!--\n# spectra + fixed points + eigenvalues\n* https://math.stackexchange.com/questions/25126/is-it-possible-to-link-the-eigenvalues-of-a-matrix-to-the-fourier-transform-of-t\n* https://en.wikipedia.org/wiki/Parseval%27s_theorem for unitary\n* https://towardsdatascience.com/deriving-convolution-from-first-principles-4ff124888028\n\n\n--\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamnemecek%2Fadjoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamnemecek%2Fadjoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamnemecek%2Fadjoint/lists"}