login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBox revision 92 of 233

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 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
Editor: Bill Page
Time: 2009/11/04 00:11:09 GMT-8
Note: Hash Functions

added:

From BillPage Wed Nov 4 00:11:08 -0800 2009
From: Bill Page
Date: Wed, 04 Nov 2009 00:11:08 -0800
Subject: Hash Functions
Message-ID: <20091104001108-0800@axiom-wiki.newsynthesis.org>

MortonCode (also called z-order) is a method of combining multidimensional "coordinates" into a one-dimensional coordinate or "code" that attempts to preserve locality, i.e. minimize the average Euclidean distance between coordinate locations associated with adjacent codes. Morton codes are computationally less expensive to convert to and from coordinate values than Hilbert codes.

This is the front page of the SandBox?. You can try anything you like here but keep in mind that other people are also using these pages to learn and experiment with Axiom and Reduce. Please be curteous to others if you correct mistakes and try to explain what you are doing.

No Email Notices

Normally, if you edit any page on MathAction? and click Save or if you add a comment to a page, a notice of the change is sent out to all subscribers on the axiom-developer email list, see the [Axiom Community]?. Separate notices are also sent to those users who subscribe directly to MathAction?.

Use Preview

If you click Preview instead of Save, you will get a chance to see the result of your calculations and LaTeX? commands but no email notice is sent out and the result is not saved until you decide to click Save or not.

Use the SandBox

On this page or on any other page with a name beginning with SandBox? such as SandBoxJohn2?, SandBoxSimple?, SandBoxEtc?, clicking Save only sends email notices to users who subscribe directly to that specific SandBox? page. Saving and adding comments does not create an email to the email list. You can safely use these pages for testing without disturbing anyone who might not care to know about your experiments.

New SandBox Pages

You can also create new SandBox? pages as needed just by editing this page and adding a link to the list of new page below. The link must include at least two uppercase letters and no spaces or alternatively it can be any phrase written inside [ ] brackets as long as it begins with SandBox?. When you Save this page, the link to the new page will appear with a blue question mark ? beside it. Clicking on the blue question mark ? will ask you if you wish to create a new page.

[SandBox Aldor Category Theory]?
based on "Prospects for Category Theory in Aldor" by Saul Youssef, 2004 http://atlas.bu.edu/~youssef/papers/math/aldor/aldor.pdf
[SandBox Aldor Foreign]?
Using Aldor to call external C routines
[SandBox Aldor Generator]?
Aldor defines a generator for type Vector
[SandBox Aldor Join and Meet]?
Aldor has category constructor named Meet which appears to be analogous to (but opposite of) Join.
[SandBox Aldor Semantics]?
exports and constants
[SandBox Aldor Sieve]?
A prime number sieve in Aldor to count primes <= n.
[SandBox Aldor Testing]?
Using Aldor to write Axiom library routines
[SandBox Arrays]?
How fast is array access in Axiom?
[SandBox Axiom Syntax]?
Syntax of if then else
[SandBox Boolean]?
evaluating Boolean expressions and conditions
[SandBox Cast]?
Meaning and use of pretend vs. strong typing
[SandBox Categorical Relativity]?
Special relativity without the Lorentz group
[SandBox Category of Graphs]?
Graph theory in Axiom
[SandBoxCL-WEB]?
Tangle operation for literate programming implemented in Common Lisp
[SandBox Combinat]?
A{ld,xi}o{r,m}Combinat
[SandBox Content MathML]?
Content vs. presentation MathML?

SandBoxCS224?

[SandBox Direct Product]?
A x B
[SandBox DistributedExpression]?
expression in sum-of-products form
[SandBox Domains and Types]?
What is the difference?
[SandboxTypeDefinitions]?
What does the type means for you?
[AxiomEmacsMode]?
Beginnings of an Emacs mode for Axiom based off of Jay's work and others
[SandBox Embeded PDF]?
pdf format documents can be displayed inline
[SandBox EndPaper]?
Algebra and Data Structure Hierarchy (lattice) diagrams
[SandBox Folding]?
experiments with DHTML, javascript, etc.
[SandBox Functional Addition]?
"adding" two functions
[SandBox Functions]?
How do they work?
[SandBox Functors]?
What are they? In Axiom functors are also called domain constructors.
[SandBox Gamma]?
Numerical evaluation of the incomplete Gamma function
[SandBox GuessingSequence]?
Guessing integer sequences
[SandBox Integration]?
Examples of integration in Axiom and Reduce
[SandBox Kernel]?
What is a "kernel"?

[SandBox kaveh]?

[SandBox LaTeX]?
LaTeX? commands allowed in MathAction?
[SandBox Lisp]?
Using Lisp in Axiom
[SandBox Manip]?
expression manipulations
[SandBox Manipulating Domains]?
testing the domain of an expression
[SandBox Mapping]?
A->B is a type in Axiom

[MathMLFormat]?

[SandBox Matrix]?
Examples of working with matrices in Axiom
[SandBox Maxima]?
Testing the Maxima interface
[SandBox Monoid]?
Rings and things
[SandBox Monoid Extend]?
Martin Rubey's beautiful idea about using extend to add a category to a previously defined domain.
[SandBox Noncommutative Polynomials]?
XPOLY and friends
[SandBox Numerical Integration]?
Simpson method
[SandBox NNI]?
NonNegative? Integer without using SubDomain?
[SandBox Pamphlet]?
[Literate Programming]? support on MathAction?
[SandBoxPartialFraction]?
Trigonometric expansion example
SandBoxPfaffian?
Computing the Pfaffian of a square matrix
[SandBox Polymake]?
an interface between Axiom and PolyMake?
[SandBox Polynomials]?
Axiom's polynomial domains are certainly rich and complex!
[SandBox ProblemSolving]?
Test page for educational purposes
[SandBox Qubic]?
Solving cubic polynomials
[SandBox Reduce And MathML]?
Reduce can use MathML? for both input and output
[SandBox Reflection in Aldor]?
a reflection framework
[SandBoxRelativeVelocity]?
Slides for IARD 2006: Addition of Relative Velocites is Associative
[SandBox Sage]?
This is a test of Sage in MathAction?
[SandBox Shortcoming]?
Implementation of solve
[SandBox Solve]?
Solving equations
[SandBox Statistics]?
calculating statistics in Axiom
[SandBox SubDomain]?
What is a SubDomain??
[SandBox Tail Recursion]?
When does Axiom replace recursion with iteration?
[SandBox Text Files]?
How to access text files in Axiom
[SandBox Trace Analysed]?
Tracing can affect output of 1::EXPR INT or 1::FRAC INT
[SandBox Units and Dimensions]?
Scientific units and dimensions
[SandBox Spad]?
Domain construction
[SandBox Speed]?
Compilation speed

[SandBox Zero]?

[SandBox Axiom Strengths]?

SandBoxJohn2?
Experiments with matrices and various other stuff
SandBox2?
Experiments
SandBox3?
Experiments
SandBoxSymbolicInverseTrig?
Experiments
SandBoxGraphviz?
Experiments with GraphViz? and StructuredTables?
SandBoxDifferentialEquations?
Differential Equations etc.
[SandBoxMatrixExample]?
[SandBoxRotationMatrix]?
Here you can create your own SandBox?.
[SandBox9]?
Experiments with JET Bundles
[SandBoxGnuDraw]?
Miscellaneous
[SandBox11]?
Miscellaneous

[[SandBox12TestIndetAndComplex]]?

[SandBox13]?
Solving some nonlinear differential equations
[SandBox42]?
Miscellaneous
[SandBox DoOps]?
used to run Axiom without actually have to have it installed!

[SandBoxKMG]?

[SandBoxDGE]?

[SandBoxMLE]?
Maximum likelihood estimation (statistics)
[SandBoxFisher]?
Fisher's exact test for 2x2 tables (statistics)
[SandBoxNewtonsMethod]?
Newton's method for numerically solving f(x)=0 (with examples of calling Axiom expressions and Spad functions from Lisp).

Click on the ? to create a new page. You should also edit this page to include a description and a new empty link for the next person.


Examples

Here is a simple Axiom command:

    \begin{axiom}
    integrate(1/(a+z^3), z=0..1,"noPole")
    \end{axiom}

axiom
integrate(1/(a+z^3), z=0..1,"noPole")

\label{eq1}{\left(
\begin{array}{@{}l}
\displaystyle
-{{\sqrt{3}}\ {\log{\left({{3 \ {a^2}\ {{\root{3}\of{a^2}}^2}}+{{\left(-{2 \ {a^3}}+{a^2}\right)}\ {\root{3}\of{a^2}}}+{a^4}-{2 \ {a^3}}}\right)}}}+{2 \ {\sqrt{3}}\ {\log \left({{{\root{3}\of{a^2}}^2}+{2 \  a \ {\root{3}\of{a^2}}}+{a^2}}\right)}}+ 
\
\
\displaystyle
{{12}\ {\arctan \left({{{2 \ {\sqrt{3}}\ {\root{3}\of{a^2}}}-{a \ {\sqrt{3}}}}\over{3 \  a}}\right)}}+{2 \  \pi}
(1)
Type: Union(f1: OrderedCompletion(Expression(Integer)),...)

And here is a REDUCE command:

  \begin{reduce}
  load_package sfgamma;
  load_package defint;
  int(1/(a+z^3), z,0,1);
  \end{reduce}

load_package sfgamma;
load_package defint;
*** gamma declared operator
*** ci already defined as operator
*** si already defined as operator
int(1/(a+z^3), z,0,1);
reduce
\displaylines{\qdd
\frac{a^{\frac{1}{
               3}}\cdot 
      \(6\cdot 
        \sqrt{3}\cdot \atan 
        \(\frac{2\cdot a^{\frac{2}{
                                3}}\cdot 
                \sqrt{3}
                -
                \sqrt{3}\cdot a}{
                3\cdot a}
         


Common Mistakes

Please review the list of [Common Mistakes]? and the list of [MathAction Problems]? if you are have never used MathAction? before. If you are learning to use Axiom and think that someone must have solved some particular problem before you, check this list of Common [Axiom Problems]?.

int(1/(a+z^3), z,0,1);
Sat, 24 Nov 2007 08:14:35 -0800 reply
int(1/(a+z^3), z,0,1)
Sat, 24 Nov 2007 08:15:26 -0800 reply

Test long lines --page, Mon, 26 Nov 2007 19:29:57 -0800 reply
[SandBoxVeryLongLaTeX]?

Francois Maltey --Bill Page, Fri, 18 Jan 2008 13:22:29 -0800 reply
[SandBox Complementsdalgebrelineaire]?

page for testing friCAS --Bill Page, Mon, 18 Feb 2008 11:16:46 -0800 reply
SandBoxFriCAS?

Aldor compiler problem? --Bill Page, Fri, 14 Mar 2008 07:30:19 -0700 reply
[SandBoxEcfact]?

calling reduce with empty list --Bill Page, Wed, 02 Apr 2008 18:35:45 -0700 reply
[SandBoxMyReduce]?

axiom
solve(ax+b,x)

\label{eq2}\left[ \right](2)
Type: List(Equation(Fraction(Polynomial(Integer))))

axiom
integrate(1/(a+z^3), z=0..1,"noPole")

\label{eq3}{\left(
\begin{array}{@{}l}
\displaystyle
-{{\sqrt{3}}\ {\log{\left({{3 \ {a^2}\ {{\root{3}\of{a^2}}^2}}+{{\left(-{2 \ {a^3}}+{a^2}\right)}\ {\root{3}\of{a^2}}}+{a^4}-{2 \ {a^3}}}\right)}}}+{2 \ {\sqrt{3}}\ {\log \left({{{\root{3}\of{a^2}}^2}+{2 \  a \ {\root{3}\of{a^2}}}+{a^2}}\right)}}+ 
\
\
\displaystyle
{{12}\ {\arctan \left({{{2 \ {\sqrt{3}}\ {\root{3}\of{a^2}}}-{a \ {\sqrt{3}}}}\over{3 \  a}}\right)}}+{2 \  \pi}
(3)
Type: Union(f1: OrderedCompletion(Expression(Integer)),...)

exploring --Bill Page, Thu, 24 Apr 2008 07:00:25 -0700 reply
SandBoxNonAssociativeAlgebra?

lexical scope --Bill Page, Sun, 11 May 2008 06:43:30 -0700 reply
Testing lexical scoping rules in SandBoxLexicalScope?.

examples of overloading in SPAD --Bill Page, Fri, 16 May 2008 09:40:58 -0700 reply
SandBoxOverloading?

Combinatorial Sum --Bill Page, Fri, 16 May 2008 13:38:20 -0700 reply
SandBoxSum? (like Product)

Symbolic computations --Bill Page, Thu, 22 May 2008 12:58:29 -0700 reply
SandBoxSymbolic?

add inheritance issue --Bill Page, Sun, 25 May 2008 11:26:13 -0700 reply
For example: SandBoxLeftFreeModule?

Added Preview and Cancel to comment form --page, Tue, 27 May 2008 15:08:43 -0700 reply
This is a test of the Preview and Cancel buttons:
axiom
integrate(sin x, x)

\label{eq4}-{\cos \left({x}\right)}(4)
Type: Union(Expression(Integer),...)

software archeology discovers another --Bill Page, Fri, 30 May 2008 21:01:37 -0700 reply
SandBoxSubsetCategory?

try iso-experiment/combinat --Bill Page, Tue, 03 Jun 2008 13:24:13 -0700 reply
SandBoxCombinat?

Equation, Inequation, and Inequality --Bill Page, Mon, 09 Jun 2008 18:28:56 -0700 reply
SandBoxEquation? SandBoxInequation? SandBoxInequality?

test aldor code --Bill Page, Wed, 18 Jun 2008 03:43:05 -0700 reply
SandBoxAdjacencyMatrix?

gnuplottex --Bill Page, Tue, 24 Jun 2008 22:42:51 -0700 reply
SandBoxGnuPlotTex?

implementing Integer from Cardinal (unsigned) numbers --Bill Page, Mon, 21 Jul 2008 06:34:23 -0700 reply
SandBoxDefineInteger?

Attributes and categories --Bill Page, Fri, 25 Jul 2008 13:36:54 -0700 reply
SandBoxCommutativeCategory?

Literal and Symbol in SPAD --Bill Page, Sun, 27 Jul 2008 02:09:57 -0700 reply
SandBoxLiteral?

a category of partially ordered sets --Bill Page, Wed, 06 Aug 2008 17:26:50 -0700 reply
SandBoxPartiallyOrderedSet?

in response to an exchange of emails with Gabriel Dos Reis concerning the validity of automatic translations of x >= y into not x < y, etc.

Document function selection process in the interpreter --Bill Page, Wed, 13 Aug 2008 18:10:26 -0700 reply
[SandBox/interp/i-funsel.boot]?

Tensor Product of Polynomials --Bill Page, Sun, 24 Aug 2008 06:36:20 -0700 reply
SandBoxTensorProductPolynomial?

Reflection --Bill Page, Mon, 08 Sep 2008 06:09:27 -0700 reply
spad
)abbrev package REFL Reflect
Reflect(T:Type): with
    constructor? : Symbol -> Boolean
  == add
    constructor?(p:Symbol):Boolean == car(devaluate(T)$Lisp)$SExpression = convert(p)$SExpression
spad
   Compiling FriCAS source code from file 
      /var/zope2/var/LatexWiki/2684009892188271010-25px005.spad using 
      old system compiler.
   REFL abbreviates package Reflect 
------------------------------------------------------------------------
   initializing NRLIB REFL for Reflect 
   compiling into NRLIB REFL 
   compiling exported constructor? : Symbol -> Boolean
Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Reflect| REDEFINED
;;; *** |Reflect| REDEFINED Time: 0.01 SEC.
Cumulative Statistics for Constructor Reflect Time: 0.03 seconds
finalizing NRLIB REFL Processing Reflect for Browser database: --->-->Reflect((constructor? ((Boolean) (Symbol)))): Not documented!!!! --->-->Reflect(constructor): Not documented!!!! --->-->Reflect(): Missing Description ; compiling file "/var/zope2/var/LatexWiki/REFL.NRLIB/REFL.lsp" (written 18 APR 2010 05:26:24 PM): ; compiling (/VERSIONCHECK 2) ; compiling (DEFUN |REFL;constructor?;SB;1| ...) ; compiling (DEFUN |Reflect| ...) ; compiling (DEFUN |Reflect;| ...) ; compiling (MAKEPROP (QUOTE |Reflect|) ...)
; /var/zope2/var/LatexWiki/REFL.NRLIB/REFL.fasl written ; compilation finished in 0:00:00.058 ------------------------------------------------------------------------ Reflect is now explicitly exposed in frame initial Reflect will be automatically loaded when needed from /var/zope2/var/LatexWiki/REFL.NRLIB/REFL

axiom
T1:=Integer

\label{eq5}\hbox{\axiomType{Integer}\ }(5)
Type: Domain
axiom
T2:=Polynomial Fraction T1

\label{eq6}\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Fraction}\ } (\hbox{\axiomType{Integer}\ }))(6)
Type: Domain
axiom
T3:=Complex T2

\label{eq7}\hbox{\axiomType{Complex}\ } (\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Fraction}\ } (\hbox{\axiomType{Integer}\ })))(7)
Type: Domain
axiom
constructor?('Polynomial)$Reflect(T1)

\label{eq8} \mbox{\rm false} (8)
Type: Boolean
axiom
constructor?('Polynomial)$Reflect(T2)

\label{eq9} \mbox{\rm true} (9)
Type: Boolean
axiom
constructor?('Polynomial)$Reflect(T3)

\label{eq10} \mbox{\rm false} (10)
Type: Boolean
axiom
constructor?('Complex)$Reflect(T3)

\label{eq11} \mbox{\rm true} (11)
Type: Boolean

Francois Maltey --Bill Page, Tue, 18 Nov 2008 19:11:35 -0800 reply
SandBoxConditionalFunctions?

NonZeroInteger? --Bill Page, Tue, 02 Dec 2008 21:35:49 -0800 reply
SandBoxNonZeroInteger? is an attempt to define the domain of Integers without 0.

Martin's "generator" mini-tutorial --Bill Page, Sat, 28 Feb 2009 09:00:14 -0800 reply
SandboxDelay?

Ralf Hemmecke's example for hidden overloading --Bill Page, Mon, 23 Mar 2009 07:22:32 -0700 reply
SandBoxHiddenOverloading?

prototype for tensor products --Bill Page, Tue, 12 May 2009 12:49:48 -0700 reply
SandBoxTensorProduct? by Franz Lehner

Riemann Surface --Bill Page, Sat, 20 Jun 2009 13:15:37 -0700 reply
SandBoxComplexManifold?

Differential Algebra --Bill Page, Wed, 29 Jul 2009 09:07:26 -0700 reply
SandBoxDifferentialPolynomial?

Grassmann Algebra --Bill Page, Thu, 10 Sep 2009 09:05:28 -0700 reply
SandBoxGrassmannIsometry? - All mappings that preserve a given metric are given in terms of the decomposition of a general multivector.

Free Product --Bill Page, Fri, 18 Sep 2009 03:20:41 -0700 reply
SandBoxFreeProduct?

This domain implements the free product of monoids (or groups) It is the coproduct in the category of monoids (groups). FreeProduct(A,B) is the monoid (group) whose elements are the reduced words in A and B, under the operation of concatenation followed by reduction:

Ref: http://en.wikipedia.org/wiki/Free_product

FunctionWithCache? --Bill Page, Tue, 27 Oct 2009 14:51:49 -0700 reply
Franz Lehner provided the following example of caching the output of a function: SandBoxRemember?

Hash Functions --Bill Page, Wed, 04 Nov 2009 00:11:08 -0800 reply
MortonCode? (also called z-order) is a method of combining multidimensional "coordinates" into a one-dimensional coordinate or "code" that attempts to preserve locality, i.e. minimize the average Euclidean distance between coordinate locations associated with adjacent codes. Morton codes are computationally less expensive to convert to and from coordinate values than Hilbert codes.