Вступ. Основні поняття

В цьому розділі ми познайомимося з середовищем "Mathematica" та навчимося використовувати основні математичні функції та оператори, проводити прості алгебраїчні перетворення. Кожна команда записується у окрему чарунку, яка праворуч відокремлена синім кольором. Для виконання команди необхідно поставити курсор у відповідну чарунку і натиснути клавішу Enter, яка розташована в правому нижньому куті клавіатури (такий саме ефект має комбінація клавіш Shift + звичайний Enter).  Якщо необхідно записати у чарунку декілька команд (програми), то ввід кожної з них повинен закінчуватися натисканням клавіші звичайного Enter. Для активізації програми слід використовувати алгоритм активізації звичайної чарунки. Якщо потрібно виконати всі команди у всіх чарунках, то потрібно вибрати в меню Kernel->Evaluation->Evaluate Notebook.
При активізації команди чи програми "Mathematica" приймає в чергу відповідну чарунку і дає їй відповідний номер у форматі "In(X):", де Х - номер команди, яка виконується з початку роботи інтерпретатора команд Kernel. При завершенні обчислень видається результат у новій чарунці, яка має той саме номер Х: "Out(X):". Кожній чарунці "In(X):" відповідає єдина чарунка "Out(X):", тому завжди легко знайти у документі відповіді на поставлені програмі завдання.
Для проведення арифметичних обчислень слід набрати необхідний вираз у чарунці, 
використовуючи знаки "+", "-", "*", "/","^" та дужки.  Наприклад,

2 + 2

(12^2 + 30/6 - 1)*(9^(1/2) - 1)

Для більш зручного представлення виразів їх можна набирати за допомогою спеціальних наборів символів, які можна визвати командою меню File->Paletts та вибором однієї з семи запропонованих таблиць. В залежності від необхідних символів користувач вибирає одну з них. Для  набору команд нашого курсу найбільш зручною буде вікно 2. Basic Input. За допомогою її останній вираз можна представити як

((12^2) + (30/6) - 1)*((Sqrt[9]) - 1)

Значною перевагою  "Mathematica"  є можливість обробляти дуже великі числа. Наприклад, 

100!

6^200

Крім цього, значення виразів можна присвоювати змінним. Зауважимо, що назва змінної повинна починатися з літери, наприклад, 

a=6

Вирази, звичайно, можуть містити і змінні:

(a + 3) (a - 3)

Якщо необхідно підрахувати значення виразу при якомусь значенні змінної можна зробити так:

b^2  /.  b -> 2

Замість b "Mathematica" підставить значення 2 і видасть відповідь 4.
Всі функції "Mathematica" починаються лише з великої літери, а її параметри, на відміну від 
багатьох мов програмування, записуються у квадратних дужках. Наприклад,

Random[]

яка видає випадкове число з проміжку від 0 до 1. Для того, щоб випадкове число було згенеровано з деякого проміжку і яке б мало визначений формат, цю функцію треба викликати з параметрами:

Random[Integer, {1, 100}]

Random[Real, {0, 10}]

Важливою функцією є N, яка дозволяє перевести будь-який вираз у десятковий дріб з необхідною кількістю цифр після коми: 

N[Pi,  200]

N[12/23,  7]

Узагальненням змінних є вектори, масиви та матриці. Для задання вектору необхідно вказати всі його елементи у фігурних дужках:

v1 = {1, 2, 3, 4}

Вектор може містити елементи-вектори:

v2 = {1,  2,  {4, 5, 6},  7,  {2, 3,  {1, 2}},  8}

Під матрицею розуміється вектор, що містить однакові за довжиною елементи-вектори:

K = {{1, 2, 3},  {4, 5, 6}}

Функція Length повертає кількість елементів вектора:

Length[v1]

Length[K]

Такий вираз представляє собою матрицю з двома рядками та трьома стовпчиками. Для того, щоб звернутися до деякого елементу матриці або вектору, необхідно вказати його координати у подвійних квадратних дужках:

v2[[1]]

K[[1, 2]]

Якщо для матриці вказати лише одну координату, то результатом буде цілий рядок

K[[1]]

Для наглядного представлення матриць та векторів використовується функція MatrixForm:

MatrixForm[K]

Слід зазначити, що "Mathematica" по-різному інтерпретує добуток векторів. Якщо використовувати знак "*", то в результаті отримуємо поелементний добуток, а якщо знак "." - то скалярний добуток. 
Порівняйте

q1 = {1, 2, 3}
q2 = {3, 4, 5}

q1*q2

q1 . q2

Для множення матриць найчастіше використовується знак ".":

A = {{1, 2},  {3, 4}}
B = {{2, 3},  {5, 6}}
A . B

Функція Table дозволяє створити вектор або матрицю:

f1 = Table[i,  {i, 1,  20}]

m1 = Table[(i + j)^2,  {i,  1, 4},  {j, 1, 5}]

В першому прикладі створюється вектор, що містить числа від 1 до 20, в другому - будується матриця розміру 4х5, кожна чарунка якої містить квадрат суми відповідного рядка та стовпчика.
Для визначення детермінанту матриці використовується функція Det:

Det[A]

За допомогою функцій Transpose та Inverse знаходяться відповідно транспонована та  обернена матриця:

Transpose[A]

Inverse[A]

Для виділення першого або останнього елементів використовуються функції First та Last:

First[f1]

Last[f1]

Корисними є функції Take та Drop. Перша виділяє з початку вектору кількість елементів, вказаних у другому параметрі. Якщо він від'ємний, то елементи виділяються з кінця вектора. На відміну від цієї функції Drop відкидає з вектору вказану кількість елементів. Якщо ця кількість від'ємна, то відкидаються останні елементи:

Take[f1,  4]

Take[f1, -4]

Drop[f1, 4]

Drop[f1,  -4]

Для з'єднання декількох векторів використовується функція Join:

f3 = Join[f1, f1]

Сортування вектору здійснюється функцією Sort:

f4 = Sort[f3]

Змінити порядок елементів на обернений дозволяє Reverse:

Reverse[f4]

Функції RotateLeft та RotateRight зсувають всі елементи на відповідну кількість позицій ліворуч або праворуч:

RotateLeft[f4, 5]

RotateRight[f4, -3]

Велике значення у вивченні властивостей економічних змінних має графічний аналіз. "Mathematica" пропонує легкий і потужний механізм побудови діаграм. Найпростіший     графік можна побудувати за допомогою функції Plot. Для цього слід вказати всі функції, які необхідно побудувати, а також інтервал, на якому слід здійснити побудову:

Plot[{Sin[x]*Cos[2  x],  Log[x]},  {x,  1,  2*Pi}]

Функція ListPlot дозволяє будувати графік по значеннях декількох векторів, якщо інший не заданий, то автоматично додається вектор з координатами 1, 2, 3, … тощо:

q = Table[Random[Integer,  {1,  20}],  {i,  1,  40}]

ListPlot[q,  PlotJoined -> True]

Нарешті, побудова графіка функції, заданої неявно здійснюється за допомогою функції ParametricPlot:

ParametricPlot[{Cos[5  t], Sin[3  t]}, {t, 0, 2  π}, 
        AspectRatio -> Automatic];

Аналогічно побудова графіків здійснюється у тривимірному просторі:

Plot3D[Sin[x y], {x, 0, 4}, {y, 0, 4}];

Важливу роль у середовищі "Mathematica" грають модулі. Справді, недоречно тримати у пам'яті комп'ютера всі відомі функції, більшість з яких непотрібна користувачеві, тому було вирішено дозволити завантажувати функції тоді, коли вони потрібні. Користувач повинен вказати назву модуля, в якому зберігаються відповідні програми та змінні. Для цього використовується оператор Get або скорочено "<<":

<< Statistics`LinearRegression`

Зразу після "<<" вказується назва папки, де знаходиться модуль, потім у лапках - назва модуля. 
Зверніть увагу на лапки: вони є нестандартними! 
Для визначення назв всіх функцій завантаженого модуля слід визвати функцію Names:

Names["Statistics`LinearRegression`*"]

Для виводу всіх функцій, який мають відповіний правопис також викоритсосують функцію Names з маскою. Наступний приклад виводить всі функції, назва яких починається з R:

Names["R*"]