## Free-form inputs

### To compute, press SHIFT + ENTER

In[1]:= 3 + 9 SHIFT + ENTER

Out[1]:= 12

### To suppress output, add ; after the line

In[1]:= 3 + 9; SHIFT + ENTER -> no output

### You can execute multiple lines at once

In[1]:= a = 2

b = a + 2

c = b ^ 3 SHIFT + ENTER

Out[1]:= 2

Out[2]:= 4

Out[3]:= 64

Starting from now, when we have output, it means that in the end of the previous line, we press SHIFT + ENTER.

### To get the most recent output, use %

In[1]:= 3 + 9

Out[1]:= 12

In[1]:= % + 5

Out[1]:= 17

## Basics in Programming

### Variable

A variable starts with letters. If you want, you may add numbers into the variable name. It is much better if you start the variable name with lowercase

In[1]:= myVariable123 = 2

Out[1]:= 2

Please notice how I join the two words and the number into a single word. If you put space between the variable name, it will indicate multiplication

In[1]:= x = 3;

5 x x

Out[1]:= 45

To clear the variable, use Clear function

In[1]:= x = 2

Out[1]:= 2

In[2]:= 2 x

Out[2]:= 4

In[3]:= Clear[x]

In[4]:= 5 x x

Out[4]:= $$5x^2$$

### Conditional Statement

The if contains three parts i.e. test, then (what to do if true), and else (what to do if false). The syntax is as follows

If[test, then, else]

Examples

In[1]:= If[5<8, Print["5 is less than 8"], Print["5 is more than 8"]

5 is less than 8

### List

List of items are indicated by { ... }

In[1]:= {1, 2, 3} * 2

Out[1]:= {2, 4, 6}

The index of the list starts from 1

In[1]:= {3, 8, 2, 9}[[3]]

Out[1]:=2

### Loop

The syntax used for the loop in Mathematica is as follows

For[start, test, incr, body]

start indicate the condition when the loop is started (initialization)

test indicate the condition to check during the loop

incr indicate the increment happen on each loop

body indicate the operation done during the loop

Example:

In[1]:= For[i=0, i<4, i++, Print[i]]

0

1

2

3

If you want to add more command on each section, separate the command using semicolon ;

Example

In[1]:= For[i = 0, i < 4, i++, Print[i]; Print["hello"]]

0

hello

1

hello

2

hello

3

hello

## Data Visualisation

### Plot

You can plot single function using the following command

Plot[f, {x , $$x_{min}$$ , $$x_{max}$$ }]

Example

In[1]:=Plot[Sin[x], {x, 0, 6 Pi}]

If you want to plot more than one functions, use list in the functions

Plot[{f1, f2, ... fn}, {x , $$x_{min}$$ , $$x_{max}$$ }]

Example

Plot[{Sin[x], Cos[x]}, {x, 0, 6 Pi}]

### ListPlot

ListPlot function can be used to plot points. The syntax is as follows

ListPlot[{y1, y2, ... yn}]

Example

ListPlot[{1, 3, 5}]

### ListLinePlot

ListLinePlot can be used to plot a line through the points. The syntax is as follows

ListLinePlot[{y1, y2, ... yn}]

Example

ListLinePlot[{1, 3, 5, 8}]

### Manipulate Commands

Manipulate is used to see the changes in the output when the input is changed

Example

Manipulate[Plot[Sin[a x], {x, 0, 6}], {a, Pi, 3 Pi}]

### Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{