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

Works with ASCII text output formatting.
fricas
)set output tex off

fricas
)set output algebra on

fricas
solve([x^2 + y^2 - 2*(ax*x + ay*y) = l1, x^2 + y^2 - 2*(cx*x + cy*y) = l2],[x,y])
(1) [ (- 2 cy + 2 ay)y - l2 + l1 [x = --------------------------, 2 cx - 2 ax
2 2 2 2 2 (4 cy - 8 ay cy + 4 cx - 8 ax cx + 4 ay + 4 ax )y + 2 (4 cy - 4 ay)l2 + (- 4 cy + 4 ay)l1 + (8 ax cx - 8 ax )cy + 2 - 8 ay cx + 8 ax ay cx * y + 2 2 2 2 l2 + (- 2 l1 + 4 ax cx - 4 ax )l2 + l1 + (- 4 cx + 4 ax cx)l1 = 0 ] ]
Type: List(List(Equation(Fraction(Polynomial(Integer)))))

But fails with LaTeX.

fricas
)set output tex on

fricas
)set output algebra off

The result of 0^0 depends on the type of '0':

fricas
(0::Float)^(0::Float)
>> Error detected within library code: 0^0 is undefined

The idea was, that defining as 1 is ok whenever there is no notion of limit. However,

fricas
(0::EXPR INT)^(0::EXPR INT)
 (1)
Type: Expression(Integer)

is not quite in line with this, I think. There has been some discussion on this subject on axiom-developer.

It is easy to change this behaviour, if we know better...

Let's see if the same happens here:
fricas
sinCosProducts := rule
sin (x) * sin (y) == (cos(x-y) - cos(x+y))/2
cos (x) * cos (y) == (cos(x-y) + cos(x+y))/2
sin (x) * cos (y) == (sin(x-y) + sin(x+y))/2
 (2)
Type: Ruleset(Integer,Integer,Expression(Integer))

when typing --Bill Page, Mon, 30 Jan 2006 09:00:02 -0600 reply
When you are typing or when you cut-and-paste commands directly into the Axiom interpreter you must use an underscore character at the end of each incomplete line, and you must use the ( ) syntax instead of identation, like this:
sinCosProducts := rule (_
sin (x) * sin (y) == (cos(x-y) - cos(x+y))/2; _
cos (x) * cos (y) == (cos(x-y) + cos(x+y))/2; _
sin (x) * cos (y) == (sin(x-y) + sin(x+y))/2)

Alternatively, using a text editor you can enter the commands into a file called, for example sincos.input exactly as in MathActon? above and the use the command:

fricas
guess([1, 5, 14, 34, 69, 135, 240, 416, 686, 1106], [guessRat], [guessSum, guessProduct, guessOne])
 (3)
Type: List(Expression(Integer))

conversion failed --Bill Page, Thu, 23 Mar 2006 22:21:41 -0600 reply
Unknown wrote:
z:=sum(myfn(x),x=1..10) -- This fails, why?

The reason this fails is because Axiom tries to evaluate myfn(x) first. But x is not yet an Integer so Axiom cannot compute myfn(x). I guess you were expecting Axiom to "wait" and not evaluate myfn(x) until after x has been assigned the value 1, right? But Axiom does not work this way.

The solution is to write myfn(x) so that is can be applied to something symbolic like x. For example something this:

fricas
myfn(i : Expression Integer) : Expression Integer == i
Function declaration myfn : Expression(Integer) -> Expression( Integer) has been added to workspace.
Type: Void
fricas
myfn(x)
fricas
Compiling function myfn with type Expression(Integer) -> Expression(
Integer)
 (4)
Type: Expression(Integer)
fricas
z:=sum(myfn(x),x=1..10)
 (5)
Type: Expression(Integer)

Any hints for multivariate functions? --Bill (Name omitted), Fri, 24 Mar 2006 21:45:25 -0600 reply
Hi Bill:

Thanks for your quick response. I tried to respond to this earlier, but didn't see it in the sand box, please forgive me if you get multiple copies.

I tried to simplify the code from my original program, and generated a univariate function, however my actual code has a multivariate function, and your excellent hint on the use of the Expression qualifier on the parameter and return type which works great for the univariate function case appears to fail for multivarite functions. Please consider the following example.

fricas
a(n : Expression Integer, k : Expression Integer, p : Expression Float) : Expression Float == binomial(n,k) * p^(k) * (1.0-p)^(n-k)
Function declaration a : (Expression(Integer), Expression(Integer), Expression(Float)) -> Expression(Float) has been added to workspace.
Type: Void
fricas
output(a(4,3,0.25)) -- see that the function actually evaluates for sensible values
fricas
Compiling function a with type (Expression(Integer), Expression(
Integer), Expression(Float)) -> Expression(Float)
0.046875
Type: Void
fricas
z := sum(a(4,i,0.25), i=1..3) --- this fails
There are 6 exposed and 2 unexposed library operations named sum having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op sum 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 sum with argument type(s) Expression(Float) SegmentBinding(PositiveInteger)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. I did notice in the Axiom online book, chapter 6.6, around page 241, the recommendation to use untyped functions, which appears to allow Axiom to do inference on parameter and result type. fricas b(n, k, p) == binomial(n,k) * p^(k) * (1.0-p)^(n-k) Type: Void fricas output(b(4,3,0.25)) -- see that the function actually evaluates for sensible values fricas Compiling function b with type (PositiveInteger, PositiveInteger, Float) -> Float 0.046875 Type: Void fricas z := sum(b(4,i,0.25), i=1..3) --- this fails fricas Compiling function b with type (PositiveInteger, Variable(i), Float) -> Expression(Float) There are 6 exposed and 2 unexposed library operations named sum having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op sum 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 sum with argument type(s) Expression(Float) SegmentBinding(PositiveInteger) Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

For univariate functions the approach

fricas
c(k) == binomial(4,k) * 0.25^k * (1.0 - 0.25)^(4-k) -- This approach is only a test, but is not suitable for my program
Type: Void
fricas
output(c(3)) -- test to see if function can be evaluated for sensible arguments
fricas
Compiling function c with type PositiveInteger -> Float
0.046875
Type: Void
fricas
z := sum(c(i), i=1..3) -- still doesn't work
fricas
Compiling function c with type Variable(i) -> Expression(Float)
There are 6 exposed and 2 unexposed library operations named sum
having 2 argument(s) but none was determined to be applicable.
Use HyperDoc Browse, or issue
)display op sum
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 sum with argument type(s) Expression(Float) SegmentBinding(PositiveInteger)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. But interestingly something like fricas d(k) == 1.5 * k -- coerce output to be a Float Type: Void fricas z := sum(d(i), i=1..3) -- This works! fricas Compiling function d with type Variable(i) -> Polynomial(Float)  (6) Type: Fraction(Polynomial(Float)) fricas output(z) 9.0 Type: Void Bill, thanks again for your quick help, unforutnatly I lack a local Axiom expert, any ideas would really be welcome here. reduce(+,[...]?) = sum(...) --billpage, Sat, 25 Mar 2006 16:01:07 -0600 reply Try this fricas z := reduce(+,[b(4,i,0.25) for i in 1..3])  (7) Type: Float Handling the result from functions returning a matrix --Bill (Name omitted), Mon, 27 Mar 2006 08:10:26 -0600 reply Hi all: Thanks Bill Page for your help, it is much appreciated (although I used a for loop and not reduce :-)). I'm having a bit of difficulty getting a Function returning a matrix to work as expected, perhaps it is just cockpit error, but I don't see the error of my ways. fricas CFM(Q : Matrix(Float)): Matrix(Float) == x := nrows(Q) MyIdentityMatrix : Matrix(Float) := new(x, x, 0) for i in 1..nrows(MyIdentityMatrix) repeat MyIdnetityMatrix(i,i) := 1.0 Ninv := MyIdnetityMatrix - Q N := inverse(Ninv) N Function declaration CFM : Matrix(Float) -> Matrix(Float) has been added to workspace. Type: Void fricas --test ComputeFundamentalMatrix X := matrix[[0, 0.5, 0],[0.5, 0, 0.5],[0, 0.5, 0]]  (8) Type: Matrix(Float) fricas output(X) +0.0 0.5 0.0+ | | |0.5 0.0 0.5| | | +0.0 0.5 0.0+ Type: Void fricas N := CFM(X) The form on the left hand side of an assignment must be a single variable, a Tuple of variables or a reference to an entry in an object supporting the setelt operation. Any ideas where I'm blowing it here? I tried explicitly setting N to be a Matrix type but that failed too. fricas CFM(Q : Matrix(Float)): Matrix(Float) == x := nrows(Q) MyIdentityMatrix : Matrix(Float) := new(x, x, 0) for i in 1..nrows(MyIdentityMatrix) repeat MyIdnetityMatrix(i,i) := 1.0 Ninv := MyIdnetityMatrix - Q N := inverse(Ninv) N Function declaration CFM : Matrix(Float) -> Matrix(Float) has been added to workspace. Compiled code for CFM has been cleared. 1 old definition(s) deleted for function or rule CFM Type: Void fricas --test ComputeFundamentalMatrix X := matrix[[0, 0.5, 0],[0.5, 0, 0.5],[0, 0.5, 0]]  (9) Type: Matrix(Float) fricas output(X) +0.0 0.5 0.0+ | | |0.5 0.0 0.5| | | +0.0 0.5 0.0+ Type: Void fricas N : Matrix(Float) := CFM(X) The form on the left hand side of an assignment must be a single variable, a Tuple of variables or a reference to an entry in an object supporting the setelt operation. Thanks again for all your help. Regards: Bill M. (Sorry, my unique last name attracts too much spam). typo and identity --billpage, Mon, 27 Mar 2006 09:34:35 -0600 reply although I used a for loop and not reduce :-) Good thinking. ;) You have a simple typographical error. You have written both: MyIdentityMatrix and : MyIdnetityMatrix BTW, instead of the complicated construction of the identify matrix you should just write: Ninv := 1 - Q For matrices 1 denotes the identity. fricas )set output tex off fricas )set output algebra on FunFun := x^4 - 6* x^3 + 11* x^2 + 2* x + 1 4 3 2 (24) x - 6 x + 11 x + 2 x + 1 Type: Polynomial(Integer) fricas radicalSolve(FunFun) (25) [ x = - ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 - 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 30 |----------------------- - 169 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 - 144 |----------------------- 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 |----------------------- 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 9 / 6 , x = ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 - 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 30 |----------------------- - 169 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 - 144 |----------------------- 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 |----------------------- 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 9 / 6 , x = - ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 - 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 30 |----------------------- - 169 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 144 |----------------------- 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 |----------------------- 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + - 3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 9 / 6 , x = ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 - 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 30 |----------------------- - 169 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 144 |----------------------- 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 |----------------------- 3| +-+ \| 27 \|3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + - 3 * ROOT +-----------------------+2 | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 15 |----------------------- + 169 3| +-+ \| 27 \|3 / +-----------------------+ | +-+ +----+ |2069 \|3 + 144 \|- 79 9 |----------------------- 3| +-+ \| 27 \|3 + 9 / 6 ] Type: List(Equation(Expression(Integer))) fricas )set output tex on fricas )set output algebra off Matthias fricas t:=matrix ([[0,1,1],[1,-2,2],[1,2,-1]])  (10) Type: Matrix(Integer) We can diagonalise t by finding it's eigenvalues. fricas )set output tex off fricas )set output algebra on e:=radicalEigenvectors(t) (27) [ +------------------+2 +------------------+ | +-+ +------+ | +-+ +------+ |3 \|3 + \|- 1345 |3 \|3 + \|- 1345 3 |------------------ - 3 |------------------ + 7 3| +-+ 3| +-+ \| 6 \|3 \| 6 \|3 [radval = ------------------------------------------------------, +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 3 |------------------ 3| +-+ \| 6 \|3 radmult = 1, radvect = [matrix1]] , [ radval = +------------------+2 | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 - 3) |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 + 3) |------------------ + 14 3| +-+ \| 6 \|3 / +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (3 \|- 3 - 3) |------------------ 3| +-+ \| 6 \|3 , radmult = 1, radvect = [matrix2]] , [ radval = +------------------+2 | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 + 3) |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 - 3) |------------------ - 14 3| +-+ \| 6 \|3 / +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (3 \|- 3 + 3) |------------------ 3| +-+ \| 6 \|3 , radmult = 1, radvect = [matrix3]] ] where matrix1 = [ [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +-+ +------+ |3 \|3 + \|- 1345 +-+ (60 \|3 + 6 \|- 1345 ) |------------------ + 205 \|3 3| +-+ \| 6 \|3 + +------+ 3 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 126 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 6 \|3 |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +-+ +------+ |3 \|3 + \|- 1345 +-+ (117 \|3 - 3 \|- 1345 ) |------------------ - 71 \|3 3| +-+ \| 6 \|3 + +------+ 9 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 126 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [1]] and matrix2 = [ [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 24 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((- 60 \|- 3 - 60)\|3 - 6 \|- 1345 \|- 3 - 6 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (205 \|- 3 - 205)\|3 + 3 \|- 1345 \|- 3 - 3 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((- 117 \|- 3 - 117)\|3 + 3 \|- 1345 \|- 3 + 3 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (- 71 \|- 3 + 71)\|3 + 9 \|- 1345 \|- 3 - 9 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [1]] and matrix3 = [ [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 24 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((60 \|- 3 - 60)\|3 + 6 \|- 1345 \|- 3 - 6 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (- 205 \|- 3 - 205)\|3 - 3 \|- 1345 \|- 3 - 3 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((117 \|- 3 - 117)\|3 - 3 \|- 1345 \|- 3 + 3 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (71 \|- 3 + 71)\|3 - 9 \|- 1345 \|- 3 - 9 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [1]] Type: List(Record(radval: Expression(Integer),radmult: Integer,radvect: List(Matrix(Expression(Integer))))) fricas d:=diagonalMatrix([e.1.radval,e.2.radval,e.3.radval]) Function definition for d is being overwritten. Compiled code for d has been cleared. (28) +------------------+2 +------------------+ | +-+ +------+ | +-+ +------+ |3 \|3 + \|- 1345 |3 \|3 + \|- 1345 3 |------------------ - 3 |------------------ + 7 3| +-+ 3| +-+ \| 6 \|3 \| 6 \|3 [[------------------------------------------------------, 0, 0], +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 3 |------------------ 3| +-+ \| 6 \|3 [0, +------------------+2 | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 - 3) |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 + 3) |------------------ + 14 3| +-+ \| 6 \|3 / +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (3 \|- 3 - 3) |------------------ 3| +-+ \| 6 \|3 , 0] , [0, 0, +------------------+2 | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 + 3) |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (- 3 \|- 3 - 3) |------------------ - 14 3| +-+ \| 6 \|3 / +------------------+ | +-+ +------+ +---+ |3 \|3 + \|- 1345 (3 \|- 3 + 3) |------------------ 3| +-+ \| 6 \|3 ] ] Type: Matrix(Expression(Integer)) Now prove it by constructing the simularity transformation from the eigenvectors: fricas p:=horizConcat(horizConcat(e.1.radvect.1,e.2.radvect.1),e.3.radvect.1) (29) [ [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +-+ +------+ |3 \|3 + \|- 1345 +-+ +------+ (60 \|3 + 6 \|- 1345 ) |------------------ + 205 \|3 + 3 \|- 1345 3| +-+ \| 6 \|3 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 126 \|3 |------------------ 3| +-+ \| 6 \|3 , +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 24 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((- 60 \|- 3 - 60)\|3 - 6 \|- 1345 \|- 3 - 6 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (205 \|- 3 - 205)\|3 + 3 \|- 1345 \|- 3 - 3 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 , +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 - 24 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((60 \|- 3 - 60)\|3 + 6 \|- 1345 \|- 3 - 6 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (- 205 \|- 3 - 205)\|3 - 3 \|- 1345 \|- 3 - 3 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [ +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 6 \|3 |------------------ 3| +-+ \| 6 \|3 + +------------------+ | +-+ +------+ +-+ +------+ |3 \|3 + \|- 1345 +-+ +------+ (117 \|3 - 3 \|- 1345 ) |------------------ - 71 \|3 + 9 \|- 1345 3| +-+ \| 6 \|3 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 126 \|3 |------------------ 3| +-+ \| 6 \|3 , +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((- 117 \|- 3 - 117)\|3 + 3 \|- 1345 \|- 3 + 3 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (- 71 \|- 3 + 71)\|3 + 9 \|- 1345 \|- 3 - 9 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 , +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 12 \|3 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ ((117 \|- 3 - 117)\|3 - 3 \|- 1345 \|- 3 + 3 \|- 1345 ) * +------------------+ | +-+ +------+ |3 \|3 + \|- 1345 |------------------ 3| +-+ \| 6 \|3 + +---+ +-+ +------+ +---+ +------+ (71 \|- 3 + 71)\|3 - 9 \|- 1345 \|- 3 - 9 \|- 1345 / +------------------+2 | +-+ +------+ +-+ |3 \|3 + \|- 1345 252 \|3 |------------------ 3| +-+ \| 6 \|3 ] , [1, 1, 1]] Type: Matrix(Expression(Integer)) fricas p*d*inverse(p) +0 1 1 + | | (30) |1 - 2 2 | | | +1 2 - 1+ Type: Matrix(Expression(Integer)) fricas )set output tex on fricas )set output algebra off \end{axiom} Axiom can't integrame exp(x^4) ;( --unknown, Fri, 28 Apr 2006 14:03:28 -0500 reply Axiom can't integrame exp(x^4) ;( fricas integrate(exp(x^4),x)  (11) Type: Union(Expression(Integer),...) But Maple can... fricas f(x) == (1/4)*x*(-Gamma(1/4,-x^4)*Gamma(3/4)+%pi*sqrt(2))/((-x^4)^(1/4)*Gamma(3/4)) Type: Void fricas D(f(x),x) fricas Compiling function f with type Variable(x) -> Expression(Integer)  (12) Type: Expression(Integer) Axiom cannot integrate e^(4*x) --kratt6, Fri, 28 Apr 2006 16:34:16 -0500 reply This is not a big surprise: note that Gamma(x,y) is not an elementary function. Martin This was wrong: fricas integrate(1/(1+x^4),x=%minusInfinity..%plusInfinity)  (13) Type: Union(f1: OrderedCompletion?(Expression(Integer)),...) fricas numeric(integrate(1/(1+x^4),x=0..1))  (14) Type: Float fricas )clear co All user variables and function definitions have been cleared. All )browse facility databases have been cleared. Internally cached functions and constructors have been cleared. )clear completely is finished. n := 32  (15) Type: PositiveInteger? fricas y : FARRAY INT := new(n,1)  (16) Type: FlexibleArray?(Integer) fricas n0 := n  (17) Type: PositiveInteger? fricas n1 := sum(x^1, x=0..n-1)  (18) Type: Fraction(Polynomial(Integer)) fricas n2 := sum(x^2, x=0..n-1)  (19) Type: Fraction(Polynomial(Integer)) fricas n3 := sum(x^3, x=0..n-1)  (20) Type: Fraction(Polynomial(Integer)) fricas n4 := sum(x^4, x=0..n-1)  (21) Type: Fraction(Polynomial(Integer)) fricas A := matrix([[n4, n3, n2],_ [n3, n2, n1],_ [n2, n1, n0]])  (22) Type: Matrix(Fraction(Polynomial(Integer))) fricas X := vector([x1, x2, x3])  (23) Type: Vector(OrderedVariableList([x1,x2,x3])) fricas B := vector([sum(x^2* u, x=0..n-1),_ sum(x* v, x=0..n-1),_ sum( w, x=0..n-1)])  (24) Type: Vector(Fraction(Polynomial(Integer))) fricas solve([A * X = B], [x1, x2, x3]) There are 20 exposed and 3 unexposed library operations named solve having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op solve 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 solve with argument type(s) List(Equation(Vector(Fraction(Polynomial(Integer))))) List(OrderedVariableList([x1,x2,x3])) Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

can this be correct? --unknown, Tue, 30 May 2006 23:51:26 -0500 reply
fricas
integrate(1/((x+t)*sqrt(1+(x*t)^2)),t=0..%plusInfinity,"noPole")
 (25)
Type: Union(f1: OrderedCompletion?(Expression(Integer)),...)
fricas
subst(%,x=1)
 (26)
Type: Expression(Integer)
fricas
integrate(1/((1+t)*sqrt(1+(1*t)^2)),t=0..%plusInfinity,"noPole")
 (27)
Type: Union(f1: OrderedCompletion?(Expression(Integer)),...)
fricas
simplify(%-subst((asinh(x^2)+asinh(1/x^2))/sqrt(1+x^4),x=1))
 (28)
Type: Expression(Integer)
fricas
%::Expression Float
 (29)
Type: Expression(Float)

fricas
a := matrix([ [-1,0,0,0,1,0], [0,1,0,0,0,0], [0,0,2,0,0,-2], [0,0,0,4,0,0], [0,0,0,0,3,0], [0,0,-3,0,0,3]])
 (30)
Type: Matrix(Integer)
fricas
determinant(a)
 (31)
Type: NonNegativeInteger?
fricas
inverse(a)
 (32)
Type: Union("failed",...)

fricas
As := matrix([ [-3,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]])
 (33)
Type: Matrix(Integer)
fricas
A := subMatrix(As, 2,4,2,4)
 (34)
Type: Matrix(Integer)
fricas
ob := orthonormalBasis(A)
 (35)
Type: List(Matrix(Expression(Integer)))
fricas
P : Matrix(Expression Integer) := new(3,3,0)
 (36)
Type: Matrix(Expression(Integer))
fricas
setsubMatrix!(P,1,1,ob.3)
 (37)
Type: Matrix(Expression(Integer))
fricas
setsubMatrix!(P,1,2,ob.1)
 (38)
Type: Matrix(Expression(Integer))
fricas
setsubMatrix!(P,1,3,ob.2)
 (39)
Type: Matrix(Expression(Integer))
fricas
Pt := transpose(P)
 (40)
Type: Matrix(Expression(Integer))
fricas
Ps : Matrix(Expression Integer) := new(4,4,0)
 (41)
Type: Matrix(Expression(Integer))
fricas
Ps(1,1) := 1
 (42)
Type: Expression(Integer)
fricas
setsubMatrix!(Ps,2,2,P)
 (43)
Type: Matrix(Expression(Integer))
fricas
PsT := transpose(Ps)
 (44)
Type: Matrix(Expression(Integer))
fricas
PsTAsPs := PsT * As * Ps
 (45)
Type: Matrix(Expression(Integer))
fricas
b1 := PsTAsPs(2,1)
 (46)
Type: Expression(Integer)
fricas
l1 := PsTAsPs(2,2)
 (47)
Type: Expression(Integer)
fricas
Us : Matrix(Expression Integer) := new(4,4,0)
 (48)
Type: Matrix(Expression(Integer))
fricas
Us(1,1) := 1
 (49)
Type: Expression(Integer)
fricas
Us(2,2) := 1
 (50)
Type: Expression(Integer)
fricas
Us(3,3) := 1
 (51)
Type: Expression(Integer)
fricas
Us(4,4) := 1
 (52)
Type: Expression(Integer)
fricas
Us(2,1) := -b1 / l1
 (53)
Type: Expression(Integer)
fricas
PsUs := Ps * Us
 (54)
Type: Matrix(Expression(Integer))
fricas
PsUsT := transpose(PsUs)
 (55)
Type: Matrix(Expression(Integer))
fricas
PsUsTAsPsUs := PsUsT * As * PsUs
 (56)
Type: Matrix(Expression(Integer))
fricas
C := inverse(PsUs)
 (57)
Type: Union(Matrix(Expression(Integer)),...)
fricas
c := PsUsTAsPsUs(1,1)
 (58)
Type: Expression(Integer)
fricas
gQ := PsUsTAsPsUs / c
 (59)
Type: Matrix(Expression(Integer))
fricas
x1 := transpose(matrix([[1,2,3,4]]))
 (60)
Type: Matrix(Integer)
fricas
v1 := transpose(x1) * As * x1
 (61)
Type: Matrix(Integer)
fricas
x2 := C * x1
 (62)
Type: Matrix(Expression(Integer))
fricas
v2 := transpose(x2) * PsUsTAsPsUs * x2
 (63)
Type: Matrix(Expression(Integer))

fricas
)clear all
All user variables and function definitions have been cleared. draw(y^2/2+(x^2-1)^2/4-1=0, x,y, range ==[-2..2, -1..1])
Graph data being transmitted to the viewport manager... FriCAS2D data being transmitted to the viewport manager...
 (64)
Type: TwoDimensionalViewport?

fricas
f1 := taylor(1 - x^2,x = 0)
 (65)
Type: UnivariateTaylorSeries?(Expression(Integer),x,0)
fricas
asin f1
 (66)
Type: UnivariateTaylorSeries?(Expression(Integer),x,0)
fricas
sin %
 (67)
Type: UnivariateTaylorSeries?(Expression(Integer),x,0)

SandboxMSkuce?

fricas
1+1
 (68)
Type: PositiveInteger?

fricas
integrate((x-1)/log(x), x)
 (69)
Type: Union(Expression(Integer),...)
fricas
integrate(x*exp(x)*sin(x),x)
 (70)
Type: Union(Expression(Integer),...)

Working With Lists --daneshpajouh, Sat, 16 Jun 2007 07:00:00 -0500 reply
fricas
[p for p in primes(2,1000)|(p rem 16)=1]
 (71)
Type: List(Integer)
fricas
[p^2+1 for p in primes(2,100)]
 (72)
Type: List(Integer)

fricas
integrate (2*x^2 + 2*x, x)
 (73)
Type: Polynomial(Fraction(Integer))

fricas
 (74)

Is it error?

(better) example (with axiom markers this time) ;-) --pbwagner, Mon, 10 Sep 2007 13:01:48 -0500 reply
fricas
integrate(log(log(x)),x)
 (75)
Type: Union(Expression(Integer),...)

 Subject:   Be Bold !! ( 15 subscribers )