From 3c97f49c63b39b71e87310e688f3d1b3b10cfea3 Mon Sep 17 00:00:00 2001 From: Michael Reed <18372368+chakravala@users.noreply.github.com> Date: Sat, 7 Dec 2019 12:42:10 -0500 Subject: [PATCH] initialized documentation generation --- .travis.yml | 9 +++++++++ docs/make.jl | 24 ++++++++++++++++++++++++ docs/src/index.md | 27 +++++++++++++++++++++++++++ docs/src/library.md | 39 +++++++++++++++++++++++++++++++++++++++ src/algebra.jl | 4 ++-- 5 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 docs/make.jl create mode 100644 docs/src/index.md create mode 100644 docs/src/library.md diff --git a/.travis.yml b/.travis.yml index 235f52f..ac2c800 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,3 +14,12 @@ notifications: email: false after_success: - julia -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder()); Coveralls.submit(process_folder())' +jobs: + include: + - stage: "Documentation" + julia: 1.3 + os: linux + script: + - julia --project=docs/ -e 'using Pkg; Pkg.add("Documenter"); Pkg.develop(PackageSpec(path=pwd()))' + - julia --project=docs/ docs/make.jl + after_success: skip diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..8ee7255 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,24 @@ +# This file is part of Grassmann.jl. It is licensed under the GPL license +# Grassmann Copyright (C) 2019 Michael Reed + +using Documenter, Grassmann + +makedocs( + # options + modules = [Grassmann], + doctest = false, + format = Documenter.HTML(prettyurls = get(ENV, "CI", nothing) == "true"), + sitename = "Grassmann.jl", + authors = "Michael Reed", + pages = Any[ + "Home" => "index.md", + "Library" => "library.md" + ] +) + +deploydocs( + repo = "github.com/chakravala/Reduce.jl.git", + target = "build", + deps = nothing, + make = nothing +) diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000..9bcef29 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,27 @@ +# Grassmann.jl + +*⟨Leibniz-Grassmann-Clifford-Hestenes⟩ differential geometric algebra / multivector simplicial complex* + +[![Build Status](https://travis-ci.org/chakravala/Grassmann.jl.svg?branch=master)](https://travis-ci.org/chakravala/Grassmann.jl) +[![Build status](https://ci.appveyor.com/api/projects/status/c36u0rgtm2rjcquk?svg=true)](https://ci.appveyor.com/project/chakravala/grassmann-jl) +[![Coverage Status](https://coveralls.io/repos/chakravala/Grassmann.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/chakravala/Grassmann.jl?branch=master) +[![codecov.io](http://codecov.io/github/chakravala/Grassmann.jl/coverage.svg?branch=master)](http://codecov.io/github/chakravala/Grassmann.jl?branch=master) +[![Gitter](https://badges.gitter.im/Grassmann-jl/community.svg)](https://gitter.im/Grassmann-jl/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Liberapay patrons](https://img.shields.io/liberapay/patrons/chakravala.svg)](https://liberapay.com/chakravala) + +The [Grassmann.jl](https://github.com/chakravala/Grassmann.jl) package provides tools for doing computations based on multi-linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Leibniz-Grassmann-Clifford-Hestenes geometric algebra. +Combinatorial products include `∧, ∨, ⋅, *, ⋆, ', ~, ∂` (which are the exterior, regressive, inner, and geometric products; along with the Hodge star, adjoint, reversal, and boundary operators). +The kernelized operations are built up from composite sparse tensor products and Hodge duality, with high dimensional support for up to 62 indices using staged caching and precompilation. Code generation enables concise yet highly extensible definitions. +The [DirectSum.jl](https://github.com/chakravala/DirectSum.jl) multivector parametric type polymorphism is based on tangent bundle vector spaces and conformal projective geometry to make the dispatch highly extensible for many applications. +Additionally, the universal interoperability between different sub-algebras is enabled by [AbstractTensors.jl](https://github.com/chakravala/AbstractTensors.jl), on which the type system is built. + +[![YouTube](https://img.shields.io/badge/JuliaCon%202019-YouTube-red)](https://www.youtube.com/watch?v=eQjDN0JQ6-s) +[![DropBox](https://img.shields.io/badge/download_PDF-DropBox-blue.svg)](https://www.dropbox.com/sh/tphh6anw0qwija4/AAACiaXig5djrLVAKLPFmGV-a/Geometric-Algebra?preview=grassmann-juliacon-2019.pdf) +[![DOI](https://zenodo.org/badge/101519786.svg)](https://zenodo.org/badge/latestdoi/101519786) +[![BiVector](https://img.shields.io/badge/bivector.net-Discourse-blueviolet)](https://bivector.net) + +```@contents +Pages = ["index.md","library.md","docs.md"] +``` + + diff --git a/docs/src/library.md b/docs/src/library.md new file mode 100644 index 0000000..7ac3ef0 --- /dev/null +++ b/docs/src/library.md @@ -0,0 +1,39 @@ +# Grassmann.jl Library + +```@contents +Pages = ["index.md","library.md"] +``` + +## Index + +```@index +Pages = ["library.md"] +``` + +## Grassmann Interface + +```@docs +Grassmann.complementrighthodge +``` + +```@docs +Grassmann.complementlefthodge +``` + +```@docs +Grassmann.reverse +``` + +```@docs +Grassmann.involute +``` + +```@docs +Grassmann.:∧ +``` + +```@docs +Grassmann.:∨ +``` + +etc, ... diff --git a/src/algebra.jl b/src/algebra.jl index b9245b8..c458645 100644 --- a/src/algebra.jl +++ b/src/algebra.jl @@ -327,13 +327,13 @@ for side ∈ (:left,:right) end @doc """ - complementright(ω::TensorAlgebra) + complementrighthodge(ω::TensorAlgebra) Grassmann-Poincare-Hodge complement: ⋆ω = ω∗I """ complementrighthodge @doc """ - complementleft(ω::TensorAlgebra) + complementlefthodge(ω::TensorAlgebra) Grassmann-Poincare left complement: ⋆'ω = I∗'ω """ complementlefthodge