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

# Edit detail for SandBox revision 65 of 171

 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 Editor: Bill Page Time: 2008/09/08 06:09:34 GMT-7 Note: Reflection

added:

From BillPage Mon Sep 8 06:09:27 -0700 2008
From: Bill Page
Date: Mon, 08 Sep 2008 06:09:27 -0700
Subject: Reflection
Message-ID: <20080908060927-0700@axiom-wiki.newsynthesis.org>

)abbrev package REFL Reflect
Reflect(T:Type): with
constructor? : Symbol -> Boolean
constructor?(p:Symbol):Boolean == car(devaluate(T)$Lisp)$SExpression = convert(p)$SExpression \end{spad} \begin{axiom} T1:=Integer T2:=Polynomial Fraction T1 T3:=Complex T2 constructor?('Polynomial)$Reflect(T1)
constructor?('Polynomial)$Reflect(T2) constructor?('Polynomial)$Reflect(T3)
constructor?('Complex)$Reflect(T3) \end{axiom}  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 [SandBox CL-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 SandBox4? Experiments SandBox5? Experiments with GraphViz? and StructuredTables? SandBox6? Differential Equations etc. [SandBox7]? [SandBox8]? Here you can create your own SandBox?. [SandBox9]? Experiments with JET Bundles [SandBox10]? 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]? 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")  (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 ## 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)  (2) Type: List Equation Fraction Polynomial Integer axiom integrate(1/(a+z^3), z=0..1,"noPole")  (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)  (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
   Compiling FriCAS source code from file
old system compiler.
REFL abbreviates package Reflect
------------------------------------------------------------------------
initializing NRLIB REFL for Reflect
compiling into NRLIB REFL
compiling exported constructor? : Symbol -> Boolean
Time: 0 SEC.
(time taken in buildFunctor:  0)
;;;     ***       |Reflect| REDEFINED
;;;     ***       |Reflect| REDEFINED
Time: 0 SEC.
Cumulative Statistics for Constructor Reflect
Time: 0 seconds
finalizing NRLIB REFL
Processing Reflect for Browser database:
--->-->Reflect((constructor? ((Boolean) (Symbol)))): Not documented!!!!
--->-->Reflect(constructor): Not documented!!!!
--->-->Reflect(): Missing Description
------------------------------------------------------------------------
Reflect is now explicitly exposed in frame initial
Reflect will be automatically loaded when needed from
/var/zope2/var/LatexWiki/REFL.NRLIB/code

axiom
T1:=Integer
 (5)
Type: Domain
axiom
T2:=Polynomial Fraction T1
 (6)
Type: Domain
axiom
T3:=Complex T2
 (7)
Type: Domain
axiom
constructor?('Polynomial)$Reflect(T1)  (8) Type: Boolean axiom constructor?('Polynomial)$Reflect(T2)
 (9)
Type: Boolean
axiom
constructor?('Polynomial)$Reflect(T3)  (10) Type: Boolean axiom constructor?('Complex)$Reflect(T3)
 (11)
Type: Boolean