# \[ANN\] DirectSum.jl, AbstractTensors.jl : dispatch on VectorBundle \<: Manifold{n}

**URL:** https://discourse.julialang.org/t/ann-directsum-jl-abstracttensors-jl-dispatch-on-vectorbundle-manifold-n/20870
**Category:** Package Announcements
**Tags:** package, proposal, announcement
**Created:** [February 16, 2019, 7:23pm UTC](https://discourse.julialang.org/t/ann-directsum-jl-abstracttensors-jl-dispatch-on-vectorbundle-manifold-n/20870 "2019-02-16T19:23:23Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)
#### Post date: [May 21, 2019, 8:51pm UTC](https://discourse.julialang.org/t/ann-directsum-jl-abstracttensors-jl-dispatch-on-vectorbundle-manifold-n/20870/4 "2019-05-21T20:51:03Z")

</div>

The `DirectSum` package has a `tangent` bundle encoding based on the following:

Let T^dV\in\text{Vect}\_\mathbb K be a `VectorBundle<:Manifold` of rank n,

> T^dV = (n,p,g,d),\, n \in\mathbb N,\, g :V\times V\rightarrow\mathbb K, \, d \in\mathbb Z

`::VectorBundle{n,p,g,d} where {n,p,g,d}` _byte-encoded_

- p specifies the null-basis from the projective split of V,
- g is a bilinear form that specifies the metric of the space,
- d is an integer specifying the order of the tangent bundle.

> \bigoplus T^{d\_i}V\_i = (|p|+d+\sum n\_i-|p\_i|-d\_i,\,\bigcup p\_i,\,\oplus\_i g\_i,\,\max\{d\_i\}\_i)

`::SubManifold{m,V,s} where` \{n\geq m\in\mathbb N,V\in\text{Vect}\_\mathbb K,s\in V\}

> T^eV \subset T^dW \iff \exists Z\in\text{Vect}\_\mathbb K(T^e(V\oplus Z) = T^{e\leq d}W,\,V\perp Z)

Dual space involution: (\cdot)':\text{Vect}\_\mathbb K^\text{op}\rightarrow\text{Vect}\_\mathbb K, V' = \text{Hom}(V,\mathbb K)

> T^dV = \langle v\_1,\dots,v\_n,\epsilon\_1,\dots,\epsilon\_d\rangle,\, T^dV' = \langle w\_1,\dots,w\_n,\partial\_1,\dots,\partial\_d\rangle

Additional `Manifold` types such as `SubManifold` and `DiagonalManifold` will enable the precise application of Riemannian geometry in the `Grassmann` algebra package in an upcoming release.

---

_[View the full topic](https://discourse.julialang.org/t/ann-directsum-jl-abstracttensors-jl-dispatch-on-vectorbundle-manifold-n/20870)._
