On 6 October 2014 16:56, Kurt Pagani <nil...@gmail.com> wrote:
>
> I opened a new thread for 'not to be off-topic'.

Thank you.

> For the sake of clarity we should compare 'a' definition of DeRham complex
> http://ncatlab.org/nlab/show/de+Rham+complex with the description given in
> derham.spad:
>
> ++ Description: The deRham complex of Euclidean space, that is, the
> ++ class of differential forms of arbitary degree over a coefficient ring.
> ++ See Flanders, Harley, Differential Forms, With Applications to the
> Physical
> ++ Sciences, New York, Academic Press, 1963.
>
> The term coefficient ring refers to the function space and not to the
> scalars of the underlying vector space(s) which form a field of course.

Unfortunately nothing explicitly inherits from VectorSpace here but
maybe this could be arranged. There is already LeftModule R which is a
little more general.

> E.g. f:[x,y,z] -> R or Q,C, i.e. the range of the 'coefficients' should be a
> field, whereby this is left unspecified in DERHAM.

OK. I think the key is this:

https://github.com/hemmecke/fricas-svn/blob/master/src/algebra/derham.spad.pamphlet#L336

  R ==> Expression(CoefRing)

The *Field* of the coefficients of the forms is named R in the source
- maybe the name is a bit misleading but oh well, I guess I should
have read the rest of the source code before writing.  The coefficient
domain of AntiSymm is only required to be a Ring but in the case of
DERHAM it is actually a Field.

--

DeRhamComplex(CoefRing, listIndVar : List Symbol) : Export == Implement where
CoefRing : Join(Ring, Comparable)
ASY ==> AntiSymm(R, listIndVar)
DIFRING ==> DifferentialRing
LALG ==> LeftAlgebra
FMR ==> FreeMod(R, EAB)
I ==> Integer
L ==> List
EAB ==> ExtAlgBasis -- these are exponents of basis elements in order
NNI ==> NonNegativeInteger
O ==> OutputForm
R ==> Expression(CoefRing)
Export == Join(LALG(R), RetractableTo(R)) with
leadingCoefficient : % -> R
++ leadingCoefficient(df) returns the leading
++ coefficient of differential form df.

--

Since in DERHAM  R is really a field LALG(R) is actually a VectorSpace.

> What the domain actually provides is a graded differential algebra for
> some given coordinates q_1,...,q_n  (usually interpreted a chart/coordinate
> patch of a manifold.

Yes.

> The 'coefficients' are functions of those coordinates with values in a field
> F whose spec is at the user's discretion.

What you call q_1,...,q_n are the generators of the antisymmetric
polynomial that represents a form, i.e. the blades of degree 1 and the
"independent variables" in R or as co-ordinates

  d/dq_1, ,,, d/dq_n

Then f:[x,y,z] -> R is just an Expression with x,y, and z
distinguished from other symbols.

--

totalDifferential(f) ==
  divs := [differentiate(f, listIndVar.i)*generator(i)$ASY for i in 1..dim]
  reduce("+",divs)

termDiff : (R, %) -> %
termDiff(r, e) ==
  totalDifferential(r) * e

exteriorDifferential(x) ==
  x = 0 => 0
  termDiff(leadingCoefficient(x)$Rep, leadingBasisTerm x) +
exteriorDifferential(reductum x)

--

> That's all in principle, though one can already do useful things.

Sure.  So I do agree that this domain is misleadingly named.  Maybe it
is better called just DifferentialForm (abbrev DIFFORM).  In FriCAS it
seems to be usually implicit that these domains are also differential
algebras.  I think the name DeRhamComplex puts to much emphasis on
this fact.  Maybe even 'exteriorDifferential' should be called just
'D' or 'differential' as in the case of most other domains.

>
> I was wondering how other CAS have this implemented (if at all) . Indeed,
> I found the following link:
> http://www.maplesoft.com/support/help/maple/view.aspx?path=DifferentialGeometry%2FTensor%2FHodgeStar
> I can't say more to this as I've never touched one of the commerical
> systems.

I have used this.  In my opinion we really don't want to go there ...

> However, the method described is another variant which could
> be tried with the CartesianTensor domain.

Maybe, but I think it is a long way from general tensors to differential forms.

> further comments between the lines ...
>
> On Monday, 6 October 2014 20:52:31 UTC+2, Bill Page wrote:
>> ...
>> Are you sure you don't need CoefRing to be a Field?
>
> yes
>

I agree.  I was wrong about that.

>>
>>
>> > I suppose you don't like the terms 'scalar product' and 'metric' in this
>> > connection? Truly, one should speak of bilinear forms and pseudo
>> > Riemannian manifolds (e.g. Minkowki space).
>>
>> 'scalar product' and 'metric' seem fine to me, but just not in the
>> context of the De Rham complex. 'bilinear form' also seems fine
>> instead of metric but I am not sure why we need to say anything about
>> manifolds.
>>

On 6 October 2014 17:57, Ralf Hemmecke <r...@hemmecke.org> wrote:
> On 10/06/2014 10:56 PM, Kurt Pagani wrote:
>> I don't oppose to create a new domain, however, it would certainly be based
>> on DERHAM as it contains 95% of the work necessary.
>
> I haven't looked too deeply into this subject, but for additional
> functionality, it might be an option to consider writing a package
> instead of creating a new domain that inherits from DERHAM and
> add that functionality.
>

I rather like this idea but now the name DERHAM is really beginning to
bug me. I'll use DIFFORM instead. So in the interpreter we might
write:

a:DIFFORM(INT,[x,y,z]) := ...
b:DIFFORM(INT,[x,y,z]) := ...
innerProduct(a,b)$HODGE(G,DIFFORM(INT,[x,y,z]))

or just

)expose HODGE(G,DERHAM(INT,[x,y,z]))

innerProduct(a,b)
hodgeStar(a)

--
Bill Page.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to