Previous: Introdução ao Pacote atensor, Up: Pacote atensor [Contents][Index]

### 29.2 Funções e Variáveis Definidas para o Pacote atensor

Função: init_atensor (alg_type, opt_dims)
Função: init_atensor (alg_type)

  Inicializa o pacote `atensor` com o tipo especificado de álgebra. alg_type pode ser um dos seguintes:

  `universal`: A álgebra universal tendo regras não comutativas.

  `grassmann`: A álgebra de Grassman é definida pela relação de comutação `u.v+v.u=0`.

  `clifford`: A álgebra de Clifford é definida pela relação de comutação `u.v+v.u=-2*sf(u,v)` onde `sf` é a função valor-escalar simétrico. Para essa álgebra, opt_dims pode ser acima de três inteiros não negativos, representando o número de dimensões positivas, dimensões degeneradas, e dimensões negativas da álgebra, respectivamente. Se quaisquer valores opt_dims são fornecidos, `atensor` irá configurar os valores de `adim` e `aform` apropriadamente. Caso contrário, `adim` irá por padrão para 0 e `aform` não será definida.

  `symmetric`: A álgebra simétrica é definida pela relação de comutação `u.v-v.u=0`.

  `symplectic`: A álgebra simplética é definida pela relação de comutação `u.v-v.u=2*af(u,v)` onde `af` é uma função valor-escalar antisimétrica. Para a álgebra simplética, opt_dims pode mais de dois inteiros não negativos, representando a dimensão não degenerada e e a dimensão degenerada, respectivamente. Se quaisquer valores opt_dims são fornecidos, `atensor` irá configurar os valores de `adim` e `aform` apropriadamente. Caso contrário, `adim` irá por padrão para 0 e `aform` não será definida.

  `lie_envelop`: O invólucro da álgebra de Lie é definido pela relação de comutação `u.v-v.u=2*av(u,v)` onde `av` é uma função antisimétrica.

  A função `init_atensor` também reconhece muitos tipos pré-definidos de álgebra:

  `complex` implementa a álgebra de números complexos como a álgebra de Clifford Cl(0,1). A chamada `init_atensor(complex)` é equivalente a `init_atensor(clifford,0,0,1)`.

  `quaternion` implementa a álgebra de quatérnios. A chamada `init_atensor(quaternion)` é equivalente a `init_atensor(clifford,0,0,2)`.

  `pauli` implementa a álgebra de Pauli-spinors como a Clifford-álgebra Cl(3,0). Uma chamada a `init_atensor(pauli)` é equivalente a `init_atensor(clifford,3)`.

  `dirac` implementa a álgebra de Dirac-spinors como a Clifford-álgebra Cl(3,1). Uma chamada a `init_atensor(dirac)` é equivalente a `init_atensor(clifford,3,0,1)`.

Função: atensimp (expr)

  Simplifica a expressão algébrica de tensores expr conforme as regras configuradas por uma chamada a `init_atensor`. Simplificações incluem aplicação recursiva de relações comutativas e resoluções de chamadas a `sf`, `af`, e `av` onde for aplicável. Uma salvaguarda é usada para garantir que a função sempre termine, mesmo para expressões complexas.

Função: alg_type

  O tipo de álgebra. Valores válidos sáo `universal`, `grassmann`, `clifford`, `symmetric`, `symplectic` e `lie_envelop`.

Variável: adim

  Valor padrão: 0

  A dimensionalidade da álgebra. `atensor` usa o valor de `adim` para determinar se um objeto indexado é uma base vetorial válida. Veja `abasep`.

Variável: aform

  Valor padrão para as formas bilineares `sf`, `af`, e `av`. O padrão é a matriz identidade `ident(3)`.

Variável: asymbol

  Valor padrão: `v`

  O símbolo para bases vetoriais.

Função: sf (u, v)

  É uma função escalar simétrica que é usada em relações comutativas. A implementação padrão verifica se ambos os argumentos são bases vetoriais usando `abasep` e se esse for o caso, substitui o valor correspondente da matriz `aform`.

Função: af (u, v)

  É uma função escalar antisimétrica que é usada em relações comutativas. A implementação padrão verifica se ambos os argumentos são bases vetoriais usando `abasep` e se esse for o caso, substitui o valor correspondente da matriz `aform`.

Função: av (u, v)

  É uma função antisimétrica que é usada em relações comutativas. A implementação padrão verifica se ambos os argumentos são bases vetoriais usando `abasep` e se esse for o caso, substitui o valor correspondente da matriz `aform`.

  Por exemplo:

      (%i1) load(atensor);
      (%o1)       /share/tensor/atensor.mac
      (%i2) adim:3;
      (%o2)                                  3
      (%i3) aform:matrix([0,3,-2],[-3,0,1],[2,-1,0]);
                                     [  0    3   - 2 ]
                                     [               ]
      (%o3)                          [ - 3   0    1  ]
                                     [               ]
                                     [  2   - 1   0  ]
      (%i4) asymbol:x;
      (%o4)                                  x
      (%i5) av(x[1],x[2]);
      (%o5)                                 x
                                             3

Função: abasep (v)

  Verifica se esse argumento é uma base vetorial `atensor` . E será, se ele for um símbolo indexado, com o símbolo sendo o mesmo que o valor de `asymbol`, e o índice tiver o mesmo valor numérico entre 1 e `adim`.

Previous: Introdução ao Pacote atensor, Up: Pacote atensor [Contents][Index]