Интернет магазин китайских планшетных компьютеров



Компьютеры - Axiom - Примеры

01 мая 2011


Оглавление:
1. Axiom
2. Философия проекта
3. Примеры
4. Документация



3j-символы

Вычисление 3j-символов и коэффициентов Клебша-Гордана.

j3Sum  ==
  maxz := reduce 
  minz := max, - ))
  minz > maxz => 0
  maxz < 0    => 0
  sum ^ / _
     * factorial * factorial * _
      factorial * factorial * factorial ), _
    z=minz..maxz)
 
j3  ==
  m1 + m2 + m3 ~= 0  => 0
  abs > j3  => 0
  j1 + j2 < j3       => 0
  abs > j1       => 0
  abs > j2       => 0
  abs > j3       => 0
  not integer?  => 0
  sqrt ( _
    factorial * factorial * factorial / _
                          factorial * _
        factorial * factorial * _
        factorial * factorial * _
        factorial * factorial
    ) * j3Sum        
 
clebschGordan  ==
    ^ * sqrt * j3

Общая теория относительности

«Аксиома» выводит символы Кристоффеля и тензоры Римана и Риччи в решении Шварцшильда.

x   := vector ;
dim := #x;
 
%nu     := operator '%nu;
%lambda := operator '%lambda;
lg := matrix [
    , _
    , _
    , _
      _
    ];
 
ug := inverse lg;
 
grSetup ==
    free x
    free dim
    free lg
    free ug
    x   := names
    dim := #x
    lg  := metric
    ug  := inverse lg
 
sum == reduce 
 
Christoffel  ==
  * sum [ ug*, x) + D, x) - D, x))
         for m in 1..dim ]
 
Riemann  ==
 D, x) -
  D, x) +
   sum [ 
    Christoffel*Christoffel -
     Christoffel*Christoffel
      for n in 1..dim ]
 
Ricci  == sum 
 
scalarCurvature  == sum [ sum [
                       ug * Ricci
                        for i in 1..dim ]  for k in 1..dim ]
 
lRiemann  == 0
lRiemann  == 0
lRiemann  == - lRiemann 
lRiemann  == - lRiemann 
lRiemann  == sum 
 
showChristoffel  ==
 for k in 1..dim repeat
  for l in 1..k repeat
   for i in 1..dim repeat
    if Christoffel ~= 0 then
        k > l => output infix , _
                      script, _
                      Christoffel::OUTFORM])
        k = l => output infix ('=, _
                  [script, _
                   Christoffel::OUTFORM])
 
showRicci  ==
 for i in 1..dim repeat
   for k in 1..i repeat
    if Ricci ~= 0 then
        i = k => output infix , Ricci::OUTFORM])
        i > k => output infix , _
                                    subscript, _
                                    Ricci::OUTFORM])
 
showRiemann  ==
 for k in 1..dim repeat
  for l in 1..dim repeat
   for m in 1..dim repeat
    for i in 1..dim repeat
     if Riemann ~= 0 then
        output infix ('=, _
          )
 -> showChristoffel
   Compiling function sum with type List Expression Integer -> 
      Expression Integer 
   Compiling function Christoffel with type (PositiveInteger,
      PositiveInteger,PositiveInteger) -> Expression Integer 
   Compiling function showChristoffel with type  -> Void 
                %nu   ,
              %e      %nu 
         1
   %Gamma   = ---------------
         0,0      %lambda
               2%e
                            ,
                         %nu 
         0          0
   %Gamma   = %Gamma   = -------
         1,0        0,1     2
                     ,
              %lambda 
         1
   %Gamma   = -----------
         1,1       2
         2          2    1
   %Gamma   = %Gamma   = -
         2,1        1,2  r
         1            r
   %Gamma   = - ------------
         2,2      %lambda
                %e
         3          3    1
   %Gamma   = %Gamma   = -
         3,1        1,3  r
         3          3    cos
   %Gamma   = %Gamma   = -----------
         3,2        2,3  sin
                             2
         1      r sin
   %Gamma   = - --------------
         3,3       %lambda
                 %e
         2
   %Gamma   = - cossin
         3,3
                                                                   Type: Void
 -> Ricci
   Compiling function Riemann with type (PositiveInteger,
      PositiveInteger,PositiveInteger,PositiveInteger) -> Expression 
      Integer 
   Compiling function Ricci with type 
       -> Expression Integer 
 
               ,              ,         %lambda
         - r%nu  + r%lambda  + 2%e           - 2
 
     ---------------------------------------------
                            %lambda
                         2%e
                                                     Type: Expression Integer


Галерея



Просмотров: 3720


<<< Avira AntiVir
BackupPC >>>