@@ -266,7 +266,7 @@ function Base.show(io::IO,s::SubManifold{V,NN,S}) where {V,NN,S}
266
266
ind = indices (S)
267
267
for k ∈ hasinf (s)+ hasorigin (s)+ 1 + (d< 0 ? abs (d) : 0 ): NM
268
268
print (io,k ∈ ind ? sig (M,k) : ' _' )
269
- printsep (io,M,k,NN )
269
+ printsep (io,M,k,NM )
270
270
end
271
271
d> 0 && print (io,[((C> 0 )⊻ ! polymode (s) ? sups : subs)[x- NM] for x ∈ ind[N+ 1 : N+ abs (d)]]. .. )
272
272
d> 0 && C< 0 && print (io,[sups[x- NM] for x ∈ ind[N+ abs (d)+ 1 : end ]]. .. )
299
299
@pure Signature (V:: DiagonalForm{N,M} ) where {N,M} = Signature {N,M} (Vector (signbit .(V[:])))
300
300
@pure DiagonalForm (V:: Signature{N,M} ) where {N,M} = DiagonalForm {N,M} ([t ? - 1 : 1 for t∈ V[:]])
301
301
302
+ @pure submanifold (V:: SubManifold ) = isbasis (V) ? V (Manifold (V)) : V
303
+ @pure submanifold (V:: TensorBundle ) = SubManifold (V)
304
+ @pure submanifold (V:: Int ) = SubManifold (V)
305
+
302
306
# indices
303
307
304
308
# @pure supblade(N,S,B) = bladeindex(N,expandbits(N,S,B))
@@ -362,8 +366,8 @@ Simplex type with pseudoscalar `V::Manifold`, grade/rank `G::Int`, `B::SubManifo
362
366
"""
363
367
struct Simplex{V,G,B,T} <: TensorTerm{V,G}
364
368
v:: T
365
- Simplex {A,B,C,D} (t:: E ) where E<: D where {A,B,C,D} = new {A ,B,C,D} (t)
366
- Simplex {A,B,C,D} (t:: E ) where E<: TensorAlgebra{A} where {A,B,C,D} = new {A ,B,C,D} (t)
369
+ Simplex {A,B,C,D} (t:: E ) where E<: D where {A,B,C,D} = new {submanifold(A) ,B,C,D} (t)
370
+ Simplex {A,B,C,D} (t:: E ) where E<: TensorAlgebra{A} where {A,B,C,D} = new {submanifold(A) ,B,C,D} (t)
367
371
end
368
372
369
373
export Simplex
0 commit comments