/usr/include/swiginac/clifford.i is in python-swiginac 1.5.1.1-1+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | /*
(c) Copyright 2003, 2004, 2005
Author: Ola Skavhaug and Ondrej Certik
This file is part of swiginac.
swiginac is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
swiginac is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with swiginac; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
class clifford : public indexed
{
public:
clifford(const ex & b, unsigned char rl = 0);
clifford(const ex & b, const ex & mu, const ex & metr, unsigned char rl = 0, int comm_sign = -1);
clifford(unsigned char rl, const ex & metr, int comm_sign, const exvector & v, bool discardable = false);
clifford(unsigned char rl, const ex & metr, int comm_sign, std::auto_ptr<exvector> vp);
unsigned precedence() const;
void archive(archive_node& n) const;
void read_archive(const archive_node& n, lst& sym_lst);
unsigned char get_representation_label() const;
ex get_metric() const;
virtual ex get_metric(const ex & i, const ex & j, bool symmetrised = false) const;
bool same_metric(const ex & other) const;
int get_commutator_sign() const;
inline size_t nops() const;
ex op(size_t i) const;
ex & let_op(size_t i);
ex subs(const exmap & m, unsigned options = 0) const;
};
class diracone : public tensor {};
/** This class represents the Clifford algebra generators (units). */
class cliffordunit : public tensor
{
public:
bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const;
};
/** This class represents the Dirac gamma Lorentz vector. */
class diracgamma : public cliffordunit
{
public:
bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const;
};
class diracgamma5 : public tensor {};
class diracgammaL : public tensor {};
class diracgammaR : public tensor {};
ex dirac_ONE(unsigned char rl = 0);
ex clifford_unit(const ex & mu, const ex & metr, unsigned char rl = 0);
ex dirac_gamma(const ex & mu, unsigned char rl = 0);
ex dirac_gamma5(unsigned char rl = 0);
ex dirac_gammaL(unsigned char rl = 0);
ex dirac_gammaR(unsigned char rl = 0);
ex dirac_slash(const ex & e, const ex & dim, unsigned char rl = 0);
ex dirac_trace(const ex & e, const std::set<unsigned char> & rls, const ex & trONE = 4);
ex dirac_trace(const ex & e, const lst & rll, const ex & trONE = 4);
ex dirac_trace(const ex & e, unsigned char rl = 0, const ex & trONE = 4);
ex canonicalize_clifford(const ex & e);
ex clifford_prime(const ex & e);
ex clifford_bar(const ex & e);
ex clifford_star(const ex & e);
ex remove_dirac_ONE(const ex & e, unsigned char rl = 0, unsigned options = 0);
char clifford_max_label(const ex & e, bool ignore_ONE = false);
ex clifford_norm(const ex & e);
ex clifford_inverse(const ex & e);
ex lst_to_clifford(const ex & v, const ex & mu, const ex & metr, unsigned char rl = 0);
ex lst_to_clifford(const ex & v, const ex & e);
lst clifford_to_lst(const ex & e, const ex & c, bool algebraic=true);
ex clifford_moebius_map(const ex & a, const ex & b, const ex & c, const ex & d, const ex & v, const ex & G, unsigned char rl = 0);
ex clifford_moebius_map(const ex & M, const ex & v, const ex & G, unsigned char rl = 0);
%extend clifford {
ex subs(const lst & ls, const lst & lr) {
return self->eval().subs(ls,lr);
}
ex subs(const ex & e, unsigned options = 0) const {
return self->eval().subs(e,options);
}
};
// vim:ft=cpp:
|