Define an antisymmetric function
- To: mathgroup at smc.vnet.net
- Subject: [mg107396] Define an antisymmetric function
- From: Torsten Schoenfeld <kaffeetisch at gmx.de>
- Date: Thu, 11 Feb 2010 06:54:28 -0500 (EST)
I'd like to define an antisymmetric function by giving its value on a
set of known objects. I'm having trouble enforcing antisymmetry. Say I
want to define G[_, _] on the objects {a, b, c}:
G[a, b] := f[a, b]
G[a, c] := g[a, c]
G[b, c] := h[b, c]
If I now enforce antisymmetry simply by
G[x_, y_] := -G[y, x]
then it mostly works (e.g., G[b, a] evaluates to -f[a, b]). But if I
apply G to something that is not in {a, b, c}, then I run into an
infinite loop: G[a, f[b]] yields "$RecursionLimit::reclim: Recursion
depth of 256 exceeded."
Ideally, I would like applications to unknown input to stay unevaluated
(e.g., G[a, f[b]] just yields G[a, f[b]]). How can I achieve that while
also enforcing antisymmetry?
- Follow-Ups:
- Re: Define an antisymmetric function
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Define an antisymmetric function