## 8 Badges

12 years, 176 days
Waterloo, Ontario, Canada

I was a software developer in Math and Research groups in 2007-2012.  I reviewed most of the contributions from Maplesoft's academic research labs.  In addition, I was one of the maintainers of the math library in Maple.  My involvement in Maple started in my undergraduate career when I worked at one of Maplesoft's affiliated academic research labs.

I hold BSc and MSc degrees in Computer Science from The University of Western Ontario, London, Canada.

My public LinkedIn profile: http://ca.linkedin.com/in/claremso

## oops...

@longrob You're right. SecondDerivativeTest requires the points to be known.  My bad.

## oops...

@longrob You're right. SecondDerivativeTest requires the points to be known.  My bad.

## Student[MultivariateCalculus]...

Student[MultivariateCalculus][FunctionAverage] works for functions of two variables (as shown in @Kamal's worksheet):

```> with(Student:-MultivariateCalculus):
> FunctionAverage(x^2+y^2, y = 2 .. 4, x = 2 .. 4);
56/3```

Student[MultivariateCalculus][SecondDerivativeTest] is be the closest command in the Student subpackages for determining min/max of a two-variable function...

## Student[MultivariateCalculus]...

Student[MultivariateCalculus][FunctionAverage] works for functions of two variables (as shown in @Kamal's worksheet):

```> with(Student:-MultivariateCalculus):
> FunctionAverage(x^2+y^2, y = 2 .. 4, x = 2 .. 4);
56/3```

Student[MultivariateCalculus][SecondDerivativeTest] is be the closest command in the Student subpackages for determining min/max of a two-variable function...

## Thanks for your report!...

The report has been forwarded to the appropriate development team.  Please don't hesitate to contact me if you have any questions.

Clare

## Your example?...

@jamunoz plottools[getdata] is new for Maple 15.  It is now the preferred way to access information in a plot.

Can you post your specific example? op([1,1], ...) works in the following case:

```> p:= dsolve({D(y)(x) = y(x), y(0)=1}, numeric, output=Array([-1,-0.8,-0.6,-0.4,-0.2,0])):
> myplot1 := plots[odeplot](p):
> op([1,1], myplot1);
[         -1.             0.367879356307219241]
[                                             ]
[-0.800000000000000044    0.449328888167686402]
[                                             ]
[-0.599999999999999978    0.548811566928079975]
[                                             ]
[-0.400000000000000022    0.670319983694311339]
[                                             ]
[-0.200000000000000011    0.818730696481771880]
[                                             ]
[         0.                       1.         ]
```

## Your example?...

@jamunoz plottools[getdata] is new for Maple 15.  It is now the preferred way to access information in a plot.

Can you post your specific example? op([1,1], ...) works in the following case:

```> p:= dsolve({D(y)(x) = y(x), y(0)=1}, numeric, output=Array([-1,-0.8,-0.6,-0.4,-0.2,0])):
> myplot1 := plots[odeplot](p):
> op([1,1], myplot1);
[         -1.             0.367879356307219241]
[                                             ]
[-0.800000000000000044    0.449328888167686402]
[                                             ]
[-0.599999999999999978    0.548811566928079975]
[                                             ]
[-0.400000000000000022    0.670319983694311339]
[                                             ]
[-0.200000000000000011    0.818730696481771880]
[                                             ]
[         0.                       1.         ]
```

## Bug trackered...

I've trackered this bug report in our database.  Thanks @Scimann for asking and @pagan for providing a workaround.

## People shown in the video...

@JacquesC Thanks for providing some historical information about the video!

Note that people who actually worked on Maple at that time were shown in the video.  I've recognized a number of people who were in the video are still working at Maplesoft or University of Waterloo.

## @JacquesC For people who are new to unev...

@JacquesC For people who are new to uneval, there's a catch for the use of uneval parameter modifier in my example: uneval can't prevent auto simplification of some "easy" computations.

```> mydismantle(1+1);

INTPOS(2): 2

> mydismantle('1+1');

UNEVAL(2)
INTPOS(2): 2

> dismantle(1+1);

INTPOS(2): 2
```

## Another example?...

I'm certainly not among the 10 people.  Below is how I examine the "internal" structure of int(x,x) before int(x,x) gets evaluated:

> mydismantle := proc(expr::uneval) dismantle(expr); end proc:
> dismantle(int(x,x));

SUM(3)
PROD(3)
NAME(4): x
INTPOS(2): 2
RATIONAL(3): 1/2
INTPOS(2): 1
INTPOS(2): 2

> mydismantle(int(x,x));

FUNCTION(3)
NAME(4): int #[protected, _syslib]
EXPSEQ(3)
NAME(4): x
NAME(4): x

>

## Speed of Pacman and FPS...

@Robert Israel : Great!  Now the Pacman is moving instead of me shoveling dots to his mouth.

Just a minor detail - The Pacman is moving quite slowly.  This detail can be fixed easily by increasing "FPS" (Frames Per Second) presented animation menu.

## Thumbs up comments...

@Will Great!  Thanks.

## Wow!...

@Robert Israel: I wish I can put a "thumbs up" to your comment! The flythrough is so neat.

## Anti-Pattern for lists...

An example of efficient list creation is found in http://www.mapleprimes.com/blog/jpmay/antipatternweek.

Hope this helps.

 1 2 3 4 5 Page 2 of 5
﻿