Lillypadz^{®} Discrete Math Tutor
User’s Manual
Copyright
The Software and Documentation is owned by Lauren Lilly (Lillypadz.com) and is protected by copyright laws and international treaty provisions, as well as other intellectual property laws and treaties. You shall treat the Software like any copyrighted material. Lillypadz Discrete Math Tutor is the Intellectual Property of Lauren C. Lilly.
For more information, visit http://www.Lillypadz.com.
Contents
Welcome to Lillypadz^{®} Discrete Math Tutor
Controlling Appearance and Behavior
Lillypadz^{®} Discrete Math Tutor (LDMT) is a tool intended to improve the learning of concepts related to Discrete Mathematics. It can be useful for professors and students alike. For professors, font sizes may be made large for demonstrating to a classroom. For students, it will remove the artistic requirements and help focus on the concepts.
In this first version, we provide the tools to demonstrate Graphs and Matrices.
Graphs
· Create nodes by simply doubleclicking on the screen
· Create edges by dragging from one node the other
· Renumber nodes
· Instantly create an Adjacency Matrix
· Create a Path Matrix
· Path and Adjacency Matrices are labeled
· The related matrices are kept up to date automatically
· These matrices can participate in matrix math (see below)
· Locate cycles
· Layout a tree automatically
· Create 3 and 4level binary trees automatically
· Demonstrate, stepbystep, Depth First and Breadth First Searches
Matrices
· Create multiple matrices
· Any number of rows and columns
· Perform mathematical functions on matrices
· Square a matrix in one click (good for demonstrating Graph concepts)
· Automatically set up matrices such as x_{ij}, a_{ij}, b_{ij}, and identity
Polynomial to Tree
· Create a binary tree in graphical form representing a polynomial
Sets
·
Quick set
creation
·
Demonstrate Union, Intersection, Difference, Equality
·
Subset,
·
Cross
Product
·
Power
Sets, and
·
Venn
diagrams
Relations and Functions
·
Define
your own relation or use samples
·
Test for
Reflexive, Symmetric, Transitive
·
Test for
function, 1 to 1, onto
·
Inverse
of a relation
·
Demonstrate relation composition
·
Create
matrix of relation
·
Show
relation as a set
·
Hasse
diagram
The main screen provides four major sections. The first is the File menu that allows opening saved files and saving matrix files.
The next section deals with Matrices, then Graphs, and finally a MathtoGraph demonstration.
Each of these sections is documented below.
You may Open a previously saved file by clicking on the Open File icon, or selecting File►Open from the menu. You will be guided to locate a file and open it in a standard dialog. If you open a .lpm file, it will open a new matrix window. If you open a .lpg file, it opens a new graph window. Graphs open an independent window due to the fact that they not only contain the graph, but may also contain matrices. Matrix windows are simpler and remain contained within the main window rather than being independent windows.
You may save a matrix by selecting the one you want to save and clicking the Save icon or selecting File►Save; CtrlS also works. To save a graph, see Saving a Graph.
Printing is not supported in this version.
Module 1 provides for creating and manipulating graphs. You may create trees or graphs, directed or undirected. After creating a graph you may open a Path Matrix and/or Adjacency Matrix representing that graph. When you update the graph, the matrices are updated automatically. Since these matrices can be accessed like other matrices, you can do mathematical operations on them to demonstrate such things as squaring the adjacency matrix to demonstrate that A^{2} represents the paths of length 2.
To make things even easier, LDMT will create 3 and 4level trees automatically. You can copy and paste nodes and edges allowing quick creation of large graphs.
Create a new graph by clicking the New Graph icon in the toolbar or selecting Graph►New Graph from the menu.
Once you see the blank page, doubleclick anywhere to create a new node. To connect nodes, move the mouse cursor to a node until it becomes a pointing finger. Hold down the left mouse button and drag an edge to another node.
To create a loop (selfreferencing edge), double click on the node. After the loop appears, you may manipulate it by selecting it and adjusting it with the green handles that appear.
If you are in Tree mode (
To delete a node or edge, click on it and press the Delete key or click the cut
(
As a convenience, you can create trees automatically; 3 and 4level and numbered either breadth or depthwise.
Note that the numbering has nothing to do with searching the tree, it is just for convenience and demonstrating in a simple fashion, depth and breadth concepts.
Once a graph is created, you may control its behavior, save it, or invoke a number of operations that help demonstrate graph behavior.
To save a file, click the Save icon. You will be prompted to provide a name and location to save the file. You may also use CtrlS.
To save a file you opened previously under a different name, click the Save As icon. Again, you will be prompted to provide a name and location.
Hint: as with all applications, a good habit is to open a file you want to copy and select Save As immediately. If you wait, you will forget and save the changes over the top of a file you don’t want changed.
If you want to allow cycles in a graph, click this icon. It remains highlighted to remind you of the mode you are in.
In this mode, you may not create cycles and you may not have two edges directed to a single node.
Note: changing modes will not remove existing edges, but will no longer allow you to create new invalid edges. Cycles will remain, but new cycles cannot be created.
In this mode, edges have arrowheads to indicate direction. In addition, the adjacency matrix for this graph in this mode is not symmetrical.
Using this setting, edges have no arrowheads, and the adjacency matrix for the graph is symmetrical.
The list beside the Font label allows changing the size of the font for the labels of the graph. Note that the font for the matrices is handled independently.
You can perform several automatic operations that affect the layout of the graph.
This option will cause the graph to be automatically reorganized as a tree. It will not do anything if the graph is not a tree.
If you delete nodes, the node numbers are not reused. To cause the graph to be renumbered, click this icon.
LDMT will automatically highlight cycles in your graph.
LDMT will automatically create and keep up to date both Adjacency and Path matrices. These matrices can be used as the source for doing computations on matrices from the main window as well.
Click on this icon to open an adjacency matrix representing this graph.
Click on this icon to open a path matrix representing this graph.
You can cut, copy, paste, and delete items from the graph. Select the items to process by clicking on one, or, to select multiple items, click on the first and then hold the Ctrl key down while clicking on others.
To select a whole set of items, you may “lasso” them. At one corner of the group to select, on an empty spot, hold down the left mouse button. Then drag the mouse to the opposite corner of the area you want to select. You should see a dotted line appear. When you let the mouse button up, all of the items completely contained in the area are selected. You may now copy, cut, or delete these items.
LDMT provides an easy means of demonstrating breadth and depthfirst searches on graphs.
Click on the breadthfirst icon. Since the subsequent operations are the same as for depthfirst, see the steps below.
Click on the depthfirst icon and follow the instructions below.
When you click on either of these icons, a new dialog appears. This dialog allows you to step through a search one step at a time, automatically with a delay between each step, or continuously.
If you start with a tree, LDMT will find the root and begin from there. If the graph is not a tree, click on a node to start from. If you do not select a node, you will get a reminder message.
Select Manual, Animated, or Continuous. If you select either Animated or Continuous, you can change the number of seconds between each step.
Once you have made you choice, click on the Step (or Go) button. If you selected Manual, you must click the button between each step. This might help you as you explain the search process.
If you selected either Automated or Continuous, you can watch as the search progresses. If you selected Continuous, it will start over until you click stop.
As the search progresses, the node labels are replaced with the number of the order in which the node was visited. When the search is complete, the node labels return.
When you are finished demonstrating, close the dialog with the X in the upper right corner.
Matrices are displayed and contained in the main window. Matrices may contain values that are rational numbers or polynomials. Polynomials may have rational coefficients and exponents. Polynomials may have subscripted variables as well.
To enter a polynomial, use the following forms:
x^2 
► 
x^{2} 
x^2 + 2xy + y^2

► 
x^{2} + 2xy + y^{2} 
(1/2)x 
► 
½x 
x^(1/2) 
► 
x^{½} 
x12 
► 
x_{12} 
To create a new matrix, click on the New Matrix icon, or select Matrix►New Matrix. You will be presented with the following dialog.
So that you can distinguish one matrix from another, you may type a title. This title is displayed in the heading of the matrix and is used to select matrices for computations. If you click one of the Auto Populate buttons, the title will be created for you.
Select the size of the matrix in the Dimensions box. If you click Square (the default) you need only supply the number of rows. If you uncheck Square, you can supply both rows and columns. After doing so, enter the numbers or polynomials you want to display in the rows and columns of the table below. Empty cells will be replaced with zeros.
When you have entered all the values, click OK.
To quickly create a matrix without having to put
in all the values, enter the dimensions and click one of the
Auto Populate buttons.
This button creates a matrix with integers as the values, the values are 11, 12, 13.. for row one, 21, 22, 23… for row two, and so on.
If you click the xij button, the variable for each cell is x with a subscript for row and column. The values are x_{11}, x_{12}, … for row one, x_{21}, x_{22},… for row two and so on. The title will automatically be set to X. Likewise, for a_{ij} and b_{ij} replace x with a or b and the title will be A or B.
* Identity will create a multiplicative identity matrix and name it I. + Identity will create the additive identity and also name it I.
If you want to edit a matrix, select it by clicking on the header next to the title, and click the Edit Matrix icon from the menu. You will be presented with the same dialog used to create a matrix from which you can change any of the options. Click OK to continue.
To apply quick math to a matrix, simply select the matrix and click the icon.
The quick math icons are
To apply more complex computations, LDMT supplies a computation dialog that allows you to add, subtract, multiply matrices, add and subtract a scalar and compute the additive inverse.
To open the Matrix Math dialog, click on the
Matrix Math icon
+ 
Add two matrices 
* 
Multiply two matrices 
 
Subtract the right matrix from the left 
+ scalar 
Add a scalar to a matrix 
* scalar 
Multiply a matrix by a scalar value 
+ inverse 
Compute the additive inverse of a matrix 
If you select an operation on two matrices, you
must select one matrix from the Left Operand list and one from the Right Operand list. If you select a scalar operation, a scalar text box will
appear. Enter the scalar there. If you select
+ Inverse select only an item from Left Operand.
When you click
OK, the matrix will appear in the
main window.
You can change the size of the font for a matrix by selecting a number from the Font list.
You can save a matrix by clicking on the Save icon, or selecting the matrix and selecting File►Save from the main menu.
To demonstrate polynomial parsing, you may enter a polynomial and LDMT will display a parse tree for it.
To open the dialog, from the main menu select the
Math to Tree icon
To close the dialog, click the red x in the upper right corner.
You can create a window with multiple sets on it, and then demonstrate set operations such as Union and Intersection. These operations help the student see the common and different elements of the sets to clearly explain what these operations are about.
Create the first set by selecting
Once you have made your selection, press Create. You will see your set appear in a new window.
If you want to add another set, select Add Another Set
To move the sets around, simply drag them (hold down the left mouse button inside the border and move the mouse).
To perform operations on sets, select the sets to operate on by clicking within the border of the set. The border will turn red. The indicator at the bottom will display the sets that you have selected. Set operations will proceed left to right, in the order you select the sets. To unselect a set, click on it again.
Perform operations on sets by selecting and then clicking one of the toolbar buttons:
Once you have created a new set from a function, to remove it (them), click the
Remove result button
To quickly and easily demonstrate Venn Diagrams, click the
To create a Venn Diagram from your own sets, create at least two sets in a set
window, select them, and then click
Demonstrating relations is as easy as creating one or two sets and then dragging edges from one element to another. We have also provided many “canned” examples to speed things along.
The examples will give you a quick idea of how things work. Select Relation► followed by one of the options.
Generic a basic relation to get things started
Equailiy demonstrates an Equality relation, Less Than, and Less Than or Equal are similar.
Multiple Of, Subset Of, Substring Of are similarly useful.
Click on
If you want two sets, click
If you want to demonstrate composition, add another set. Now, the middle set is
common to both relations. You may drag edges from the left most to the middle, or from the middle to the
rightmost. Demonstrate composition by clicking Demonstrate Composition
The test buttons will test only the left relation (whether on one or two sets).
You may test for Reflexive
To create the matrix of the leftmost relation, click the Show Relation Matrix button.
You may show the relation as a set of ordered pairs by clcking the Relation as Set button.
Click the Inverse Relation button to create a new window with the inverse relation.
Create a Hasse Diagram by clicking the Hasse Diagram button.