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

Edit detail for SandBoxPolynomialQuizExplained revision 1 of 1

1
Editor:
Time: 2007/11/18 18:32:04 GMT-8
Note: typo in quizzes

changed:
-
Coming Soon! (Or you can provide them!) Please insert comments after each problem.
Original quizzes on SandBoxPolynomials#quizzes

\begin{axiom}
)clear all
)set mess bot on
variables (2*x+1/x)$DMP([x], EXPR INT)
\end{axiom}

<hr>
\begin{axiom}
)set mess bot on
variables (2*y+1/y)$DMP([y], INT)
\end{axiom}

<hr>
\begin{axiom}
)set mess bot on
a:=(2*x+1/x)$DMP([x], EXPR INT); variables a
\end{axiom}

<hr>
\begin{axiom}
)set mess bot on
b:=(2*y+1/y)$DMP([y], INT); variables b
\end{axiom}

<hr>
\begin{axiom}
)set mess bot on
x:DMP([x], EXPR INT):=x; variables (2*x+1/x)
\end{axiom}

<hr>
\begin{axiom}
)set mess bot on
y:DMP([y], INT):=y; variables (2*y+1/y)
\end{axiom}

From BillPage Sun Feb 26 15:03:48 -0600 2006
From: Bill Page
Date: Sun, 26 Feb 2006 15:03:48 -0600
Subject: My Explanations (and errors) of the quiz results
Message-ID: <20060226150348-0600@wiki.axiom-developer.org>

> 
> )set mess bot off  -- no cheating
> (1) variables (2*x+1/x)$DMP([x], EXPR INT)
> 
> (Got you, right? It got me too.

Yes. It took me a minute to realize that the interpreter parses
this as:

   (variables$DMP([x], EXPR INT))(2*x+1/x)

> To understand this, repeat with ')set mess bot on'. You must
> understand what the Interpreter was doing before starting
> quiz (2))

Ok, that was pretty easy. :)

> 
> )set mess bot off
> (2) variables (2*y+1/y)$DMP([y], INT)
> 
> (Got me again! Repeat with )set mess bot on, read carefully, 
> and compare with that from (1)). 

This one is obvious. The only operation '/' in this domain is
'?/? : (%,Integer) -> %' and 'y' is not an 'Integer'.

> 
> )set mess bot off
> (3) a:=(2*x + 1/x)$DMP([x], EXPR INT); 
>     variables a

Obvious result: [x]
What is hard about that?

> 
> )set mess bot off
> (4) b:=(2*y+1/y)$DMP([y], INT);
>     variables b
>

Same error as in (2). But 'b' is interpreted as a Variable
which can be coerced to EXPR INT so result is [b]

> )set mess bot off
> (5) x:DMP([x], EXPR INT); 
>     variables (2*x+1/x)
>

Obvious. Result: [x]. Essentially the same as (3)
 
> )set mess bot off
> (6) y:DMP([y], INT);
>     variables (2*y+1/y)
>

I wrote: "Error same as in (2)". So I have to admit I got this
one wrong but I should not have. The explanation is simple. This
is not a package call as it was in (2), so the interpreter is
free to apply the usual coercion to 'FRAC DMP([y], INT)' in order
to obtain a selection for '/'.


From wyscc Tue Feb 28 04:06:46 -0600 2006
From: wyscc
Date: Tue, 28 Feb 2006 04:06:46 -0600
Subject: typo in quizzes
Message-ID: <20060228040646-0600@wiki.axiom-developer.org>

My apologies for putting up the wrong questions in Quizzes (5) and(6). The correct problems were given correctly on the Wiki pages but not in the email. In (5) x should have been assigned the value x (not just declared to be in DMP. Same for (6), where y should have been assigned the value y.  In the version with the omissions, the first lines have no effect on the second lines. 

William

Coming Soon! (Or you can provide them!) Please insert comments after each problem. Original quizzes on SandBoxPolynomials#quizzes

fricas
(1) -> )clear all
All user variables and function definitions have been cleared.
fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. variables (2*x+1/x)$DMP([x], EXPR INT)

\label{eq1}\left[ \right](1)
Type: List(OrderedVariableList([x]))


fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. variables (2*y+1/y)$DMP([y], INT)
There are 4 exposed and 7 unexposed library operations named variables having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op variables to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named variables with argument type(s) Fraction(Polynomial(Integer))
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.


fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. a:=(2*x+1/x)$DMP([x], EXPR INT); variables a

\label{eq2}\left[ x \right](2)
Type: List(OrderedVariableList([x]))


fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. b:=(2*y+1/y)$DMP([y], INT); variables b
There are 13 exposed and 11 unexposed library operations named + having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op + to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named + with argument type(s) DistributedMultivariatePolynomial([y],Integer) Fraction(DistributedMultivariatePolynomial([y],Integer))
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.


fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. x:DMP([x], EXPR INT):=x; variables (2*x+1/x)

\label{eq3}\left[ x \right](3)
Type: List(OrderedVariableList([x]))


fricas
)set mess bot on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. y:DMP([y], INT):=y; variables (2*y+1/y)

\label{eq4}\left[ y \right](4)
Type: List(Symbol)

My Explanations (and errors) of the quiz results --Bill Page, Sun, 26 Feb 2006 15:03:48 -0600 reply

)set mess bot off
no cheating (1) variables (2*x+1/x)$DMP([x]?, EXPR INT)

(Got you, right? It got me too.

Yes. It took me a minute to realize that the interpreter parses this as:

(variables$DMP([x]?, EXPR INT))(2*x+1/x)

To understand this, repeat with )set mess bot on. You must understand what the Interpreter was doing before starting quiz (2))

Ok, that was pretty easy. :)

)set mess bot off (2) variables (2*y+1/y)$DMP([y]?, INT)

(Got me again! Repeat with )set mess bot on, read carefully, and compare with that from (1)).

This one is obvious. The only operation '/ in this domain is ?/? : (%,Integer) -> %' and y is not an Integer.

)set mess bot off (3) a:=(2*x + 1/x)$DMP([x]?, EXPR INT); variables a

Obvious result: [x]? What is hard about that?

)set mess bot off (4) b:=(2*y+1/y)$DMP([y]?, INT); variables b

Same error as in (2). But b is interpreted as a Variable which can be coerced to EXPR INT so result is [b]?

)set mess bot off (5) x:DMP([x]?, EXPR INT); variables (2*x+1/x)

Obvious. Result: [x]?. Essentially the same as (3)

)set mess bot off (6) y:DMP([y]?, INT); variables (2*y+1/y)

I wrote: "Error same as in (2)". So I have to admit I got this one wrong but I should not have. The explanation is simple. This is not a package call as it was in (2), so the interpreter is free to apply the usual coercion to 'FRAC DMP([y]?, INT) in order to obtain a selection for /'.

typo in quizzes --wyscc, Tue, 28 Feb 2006 04:06:46 -0600 reply
My apologies for putting up the wrong questions in Quizzes (5) and(6). The correct problems were given correctly on the Wiki pages but not in the email. In (5) x should have been assigned the value x (not just declared to be in DMP. Same for (6), where y should have been assigned the value y. In the version with the omissions, the first lines have no effect on the second lines.

William