 Gems You May Have Missed
(30 minutes)

== Introduction ==

Welcome. 

In this session I'm going to talk about new features in Maple 2024.

This isn't the conventional "what's new" promotional talk.  I'm going to skip many of the big features that you have probably
already seen and focus of some features that you may have missed.  For example, I won't mention AI.  

A talk with this same title has been presented by at least four other people at Maplesoft.  I was given their scripts, and after careful review, started from scratch with my own list.  I picked a dozen features that were personally interesting to me. 

That's the great thing about Maple and Mathematics in general, there is a wide deep pool of areas of interest, and usually something for everyone.  

In no particular order, of the thousands of changes that went into Maple 2024, let's see what I picked:
==

1. is.mw
- Over the years I don't know how many times I have examined an expression, with a fist in the air, said, why can't Maple do this.  Then, one of the Math Group experts, would calmly explain that the result you are expecting is not actually correct.  
- Here are a few cases like that, where Maple was a little bit too relaxed on some definitions because they were expected and convenient, but not actually correct.  Maple 2024 is more precise with the result now, and that IS important. 
- The assuming facility lets you add constraints in order to get the domain-specific result.   
- ultimately these seemingly little changes lead to better results throughout the system.

2. trig.mw
a) - Before Maple 2023, simplify in general converted trig functions to sincos form, which can useful internally but is not necessarily what a user wants to see.
   - Now it uses any of the 6 trig functions (sin, cos, tan, sec, csc, cot) and the corresponding hyperbolic trig functions (sinh, cosh, etc.) to express the simplified answer. As a result, many examples can be returned in a more compact form:
b) Another trig example, Maple is watching for shifted inverse trig identities 
c) Due to improved trig simplifications we can now solve this integral

- By the way, for those of you who, like me, looked at the second one and thought, yikes that's not impressive, shouldn't arcsin(sin(x)) be just x.   Good thing I have Maple to test that. 

plot(arcsin(sin(x)));
sin(arcsin(x));

This is why everyone needs Maple, not just Math geniuses.  

3. drawing.mw
- use drawing tool on plot(arcsin(sin(x))) graph
- add curved line arrow to point to (Pi/2,Pi/2) coordinate
- draw top right to bottom left
- enter Pi/2 first then add text in front "This is Pi/2" 
- use command completion to change Pi to symbol

4. colorscheme.mw
- staying with plots, let's look at some 4-D plots
- a co-ordinate based color scheme is one that uses a rule that maps the (x,y,z) co-ordinate to a color
- here we assign the color along the z-axis based on the distance to the origin
- using the CoolWarm palette, you can visually see the cool blue colors are closer to the origin, and the hot red colors are further away
(b) - the second plot uses all three (x,y,z) coordinates and a custom distance metric to color from the origin
(c) - the third plot shows what it looks like if you remove the z coordinate from the formula
(d) - here is a different color scheme, called DivergeBKR
(e) - here are 6 of the built-in color schemes.  The swatch shows the color gradient being used. 

5. pyramid.mw
- for all its simplicity I really like this next this one 
- pyramids have been added as a new primitive among all the other geometries known to plottools
- by default they have a square base as you would expect
- but they can be defined with a base of any shape have 
- I once did a project where I needed to calculate angles for pyramidal cuts on a compound miter saw.  The formulas are surprisingly complicated.   Here we adjust the position and height of the base to make it as tall as it is wide.
- Here is a fun one.  If you want to go down a rabbit-hole on the internet, search up "paper star-based pyramid" 

6. hypergraphs.mw
- Next, I want to mention the Matroids and Hypergraphs Package.   
- This is a substantial new package. 
- Formally, A hypergraph is a pair ("V, E") consisting of a finite set "V" called vertices and a collection "E" of subsets of                      "V" called hyperedges
- a reference in one of the examples caught my eye.   This may be completely wrong, but let me stumble through. 
- here is a hypergraph of ingredients and recipes.  
- show salad ingredients visualized as connected around a node
- operations can be made on these hypergraphs.  
- for example ... (read text on sheet).

7. relationgraph.mw
- Switching from hypergraphs to regular graphs, among the many changes to the GraphTheory package, this one caught my eye
- read intro
- show connected edges of 5
- show Neighborhood result is missing 5 and 15

8. specialgraphs.mw
- For more interesting graphs, have a look at the SpecialGraphs subpackage.
- It now includes commands for all the Archimedean graphs, as well as the Möbius ladder graph and the Wagner graph.
- I'll just scroll through some of these new graphs in the library, to show their geometry

9. elementwise.mw
- Here's a nice new feature that you don't want to miss
- Maple uses a special ~ operator to make an operation apply elementwise
- show \^ and \/
- change f~ to sqrt~
- Now there is a convenient command that turns all of the operators inside into elementwise applications

10. evalhf.mw
- Maple is a symbolic language, able to manipulate symbols and derive closed form solutions.  Additionally it can use infinite-precision for integers and floating-point computations in order to achieve high-fidelity results.
- The evalhf() system lets you run some Maple code at hardware-floating-point machine-precision.
- More Maple code can run under evalhf now as we added support for catching exceptions.  
- here, when we run this contrived example, the b=0 branch is taken and an error is raised, but caught, allowing the computation to proceed with a default value

11. signalprocessing.mw
- The new ResponseSpectrum command extends the SignalProcessing package, and is used to plot the response of a structure or system to varying frequencies that affect input. 
- For example, a response spectrum is commonly used in structural and earthquake engineering to assess the potential response of a structure to seismic events.

12. units.mw
- Unit support continues to be of great importance to us.  Maple has the most comprehensive set of built-in defined units compared to any other system.  Symbolic processing allows for deeper consistency checks leading to fewer mistakes.  We want bridges not to fall down, and spacecraft to get to where they are supposed to go.

- In Maple we use the term "rtable" or rectangular-table to define the data-structure for Arrays, Matrices, and Vectors.  This structure has many options including the ability to hold double-precision hardware floating point numbers in a format compatible with libraries for fast numeric algorithms including BLAS, NAG, LAPACK and others.   
- The change described here talks about separating the unit data block from the quantity data, allowing the units to be pre and post processed without loss of efficiency. 

- Additionally, we have further extended unit support through relevant parts of the Statistics package. 

13. steps.mw
- One more bonus gem, or, to round out the baker's dozen, I want to highlight the continued advancement of Steps and Check-My-Work features.  These both add support for a wider variety of problem types and up the level of difficulty.
- Steps functionality can be found in many different packages showing how a student could progress from an expression to the final result in a step-by-step manner.  It is sort of a proof.  
- Check-My-Work, let's a student practice by attempting to supply the steps on their own, and employs Maple to verify not only their answer, but the intermediate work too.  This works without any teacher intervention; no sample solution and no behind-the-scenes preparation.  The student can enter their own problems too.
- These features also work seamlessly with Maple Learn.  You can craft examples in Maple and deploy them to the web.
  (show adding ,output=link to one of the practice commands)

x simplify.mw
x quiz.mw
x mathapps.mw

XXXXXXXXXXXX

Whether you have been using Maple 2024 since the day it came out, or haven’t had a chance to try it yet, chances are good there are still new features in Maple 2024 that you haven’t explored yet. This talk will give you a closer look at some of the improvements that our Maple Product Manager finds particularly useful or interesting. You may even get a few hints of more good things to come.

 