Візьміть вектор невідомих
і застосуйте якусь загальну диференційовану функцію
. Якобіан потім задається матрицею ,
такі , що:
Наприклад, припустимо m=3і n=2. Потім (використовуючи індексацію на основі 0)
Якобієць fтоді
Мета цього завдання - надрукувати цю матрицю Якобії.
Вхідні дані
Ваша програма / функція повинна приймати в якості вхідних два позитивних чисел mі n, які представляють собою ряд компонентів fі uвідповідно. Вхід може надходити з будь-якого потрібного джерела (stdio, параметр функції тощо). Ви можете диктувати порядок їх отримання, і це повинно відповідати будь-якому вкладенню вашої відповіді (будь ласка, вкажіть у своїй відповіді).
Вихідні дані
Щось, що представляє якобіанську матрицю. Це представлення повинне чітко прописати всі елементи матриці Якобії, але точна форма кожного терміна є реалізацією, визначеною до тих пір, поки не буде однозначно те, що диференціюється і щодо чого, і кожен запис виводиться в логічному порядку. Приклад прийнятних форм для представлення матриці:
- Список списків, де кожен запис зовнішнього списку відповідає ряду якобійців, а кожен запис внутрішнього списку відповідає стовпцю якобійців.
- Рядок або текстовий вихід, де кожен рядок є рядом якобійського, а кожен розділений роздільником роздільник у рядку відповідає стовпцю якобі.
- Деякі графічні / візуальні подання матриці. Приклад: що показує Mathematica при використанні
MatrixFormкоманди - Деякі інші об'єкти щільної матриці, де кожен запис вже зберігається в пам'яті, і його можна запитати (тобто ви не можете використовувати об'єкт генератора). Прикладом може бути те, як Mathematica внутрішньо представляє об'єкт Matrix
Приклади форматів запису:
- Рядок форми
d f_i/d u_j, деiіjє цілі числа. Приклад:d f_1/d u_2. Зауважте, що ці проміжки міжdтаf_1абоx_2є необов'язковими. Крім того, підкреслення також необов’язково. - Рядок форми
d f_i(u_1,...,u_n)/d u_jабоd f_i(u)/d u_j. Тобто вхідні параметри функціонального компонентаf_iнеобов’язкові і можуть бути чітко прописані або залишені у компактному вигляді. - Відформатований графічний вихід. Наприклад: що друкує Mathematica, коли ви оцінюєте вираз
D[f_1[u_,u_2,...,u_n],u_1]
Ви можете вибрати те , що вихідний індекс uі fє (будь ласка , вкажіть у відповіді). Вихід може бути до будь-якої бажаної раковини (stdio, значення повернення, вихідний параметр тощо).
Тестові справи
У наступних тестових випадках використовується конвенція m,n. Показники показані на основі 0.
1,1
[[d f0/d u0]]
2,1
[[d f0/d u0],
[d f1/d u0]]
2 2
[[d f0/d u0, d f0/d u1],
[d f1/d u0, d f1/d u1]]
1,2
[[d f0/d u0, d f0/d u1]]
3,3
[[d f0/d u0, d f0/d u1, d f0/d u2],
[d f1/d u0, d f1/d u1, d f1/d u2],
[d f2/d u0, d f2/d u1, d f2/d u2]]
Оцінка балів
Це код гольфу; найкоротший код у байтах виграє. Стандартні лазівки заборонені. Вам дозволяється використовувати будь-які вбудовані модулі.





f=, як це звичайна практика тут. R також повертає останнє, що оцінюється у функції, так що ви можете просто використовуватиvзамістьreturn(v).