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

Edit detail for SandBoxOpenAxiom revision 24 of 25

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
Editor: Bill Page
Time: 2010/01/29 08:43:45 GMT-8
Note: missing \begin{axiom} ... \end{axiom}

added:
\begin{axiom}

changed:
-
\end{axiom}

What version?

axiom
)version
Value = "Tuesday October 13, 2009 at 18:38:59 "

New domain Domain:

axiom
)show Domain
Domain is a domain constructor Abbreviation for Domain is DOMAIN This constructor is exposed in this frame. Issue )edit /usr/local/lib/open-axiom/x86_64-unknown-linux/1.4.0-2009-10-13/src/algebra/DOMAIN.spad to see algebra source code for DOMAIN
------------------------------- Operations -------------------------------- ?=? : (%,%) -> Boolean before? : (%,%) -> Boolean coerce : % -> OutputForm hash : % -> SingleInteger latex : % -> String showSummary : % -> Void ?~=? : (%,%) -> Boolean constructor : % -> DomainConstructor reflect : ConstructorCall DomainConstructor -> % reify : % -> ConstructorCall DomainConstructor

For example:

axiom
LD:=[Integer,Float,String]

\label{eq1}\left[ \hbox{\axiomType{Integer}\ } , \: \hbox{\axiomType{Float}\ } , \: \hbox{\axiomType{String}\ } \right](1)
Type: List Domain

New domain Syntax:

axiom
)show Syntax
Syntax is a domain constructor Abbreviation for Syntax is SYNTAX This constructor is exposed in this frame. Issue )edit /usr/local/lib/open-axiom/x86_64-unknown-linux/1.4.0-2009-10-13/src/algebra/SYNTAX.spad to see algebra source code for SYNTAX
------------------------------- Operations -------------------------------- ?=? : (%,%) -> Boolean autoCoerce : % -> String autoCoerce : % -> Identifier autoCoerce : % -> DoubleFloat autoCoerce : % -> Integer before? : (%,%) -> Boolean buildSyntax : (%,List %) -> % coerce : % -> String coerce : % -> Identifier coerce : % -> DoubleFloat coerce : % -> Integer coerce : % -> InputForm coerce : String -> % coerce : Identifier -> % coerce : DoubleFloat -> % coerce : Integer -> % coerce : % -> OutputForm compound? : % -> Boolean convert : SExpression -> % convert : % -> SExpression getOperands : % -> List % hash : % -> SingleInteger latex : % -> String nil? : % -> Boolean retract : % -> String retract : % -> Identifier retract : % -> DoubleFloat retract : % -> Integer ?~=? : (%,%) -> Boolean buildSyntax : (Identifier,List %) -> % ?case? : (%,[|String|]) -> Boolean ?case? : (%,[|Identifier|]) -> Boolean ?case? : (%,[|DoubleFloat|]) -> Boolean ?case? : (%,[|Integer|]) -> Boolean getOperator : % -> Union(Integer,DoubleFloat,Identifier,String,%) retractIfCan : % -> Union(String,"failed") retractIfCan : % -> Union(Identifier,"failed") retractIfCan : % -> Union(DoubleFloat,"failed") retractIfCan : % -> Union(Integer,"failed")

axiom
reify(String)

\label{eq2}\hbox{\axiomType{String}\ }(2)
Type: ConstructorCall? DomainConstructor?

syntax.spad.pamphlet --Bill Page, Wed, 30 Jan 2008 09:27:00 -0800 reply
[SandBoxSyntax]? describes some extensions to OpenAxiom?

move coercion to library? --page, Wed, 07 May 2008 07:29:30 -0700 reply
axiom
a := 'x :: OutputForm

\label{eq3}x(3)
Type: OutputForm?
axiom
b := 'y :: OutputForm

\label{eq4}y(4)
Type: OutputForm?
axiom
a and b

\label{eq5}and \left({x , \: y}\right)(5)
Type: OutputForm?

axiom
phi := operator phi

\label{eq6}\phi(6)
Type: BasicOperator?
axiom
deq := 6*D(phi(x), x) + 10*phi(x) + 150*cos(phi(x)) = 0

\label{eq7}{{6 \ {{\phi_{\ }^{,}}\left({x}\right)}}+{{150}\ {\cos \left({\phi \left({x}\right)}\right)}}+{{10}\ {\phi \left({x}\right)}}}= 0(7)
Type: Equation Expression Integer
axiom
solve(deq, phi, x)

\label{eq8}{\int^{
\displaystyle
{\phi \left({x}\right)}}{{6 \over{{{15}\ {\cos \left({\%H}\right)}}+ \%H}}\ {d \%H}}}+{{10}\  x}(8)
Type: Union(Expression Integer,...)

OpenAxiom? now displays InputForms? --Bill Page, Thu, 16 Oct 2008 18:54:56 -0700 reply
in infix (or m-expression like) notation like this:
axiom
phi := operator 'phi

\label{eq9}\phi(9)
Type: BasicOperator?
axiom
(9 * D(phi(x), x, 2) + 6*D(phi(x), x) + 10 + 150*cos(phi(x)))::InputForm

\label{eq10}9 <em> D (D (phi (x) , x : : \hbox{\axiomType{Symbol}\ }) , x : : \hbox{\axiomType{Symbol}\ }) + 6 </em> D (phi (x) , x : : \hbox{\axiomType{Symbol}\ }) + 150 <em> cos (phi (x)) + 10(10)
Type: InputForm?

OpenAxiom? 1.3.0 and higher now supports literal numbers expressed in a radix other than 10 (both in the interpreter and in library).

For decimal numbers, the syntax is as usual. For base other than 10, you have to specify the radix first (as a decimal number) followed by the letter r, then followed by digits expressing the number.

axiom
16rdeadbeef

\label{eq11}3735928559(11)
Type: PositiveInteger?
axiom
16rcafebabe

\label{eq12}3405691582(12)
Type: PositiveInteger?
axiom
2r111000101001

\label{eq13}3625(13)
Type: PositiveInteger?

axiom
y:=operator 'y

\label{eq14}y(14)
Type: BasicOperator?
axiom
deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4

\label{eq15}{{{x^3}\ {{y_{\ }^{, , ,}}\left({x}\right)}}+{{x^2}\ {{y_{\ }^{, ,}}\left({x}\right)}}-{2 \  x \ {{y_{\ }^{,}}\left({x}\right)}}+{2 \ {y \left({x}\right)}}}={2 \ {x^4}}(15)
Type: Equation Expression Integer
axiom
solve(deq,y,z)

\label{eq16}\mbox{\tt "failed"}(16)
Type: Union("failed",...)