Створення матриці. Функції створення матриць Специфічні перетворення матриць

Одиночне число Mathcad називається скаляром. Стовпець чисел називається вектором, а прямокутна таблиця чисел – матрицею. Загальний термін для вектора чи матриці - масив.

Є три способи створення масиву:

  • Заповнюючи масив порожніх полів, як обговорюється у цьому розділі. Ця методика підходить для невеликих масивів.
  • Використовуючи дискретний аргумент, щоб визначити елементи за його допомогою, як обговорено у наступному розділі. Ця методика підходить, коли є деяка явна формула для обчислення елементів через їх індекси.
  • Зчитуючи їх із файлів даних.

Можна розрізняти імена матриць, векторів та скалярів, використовуючи різний шрифт для їхнього написання. Наприклад, у багатьох математичних та інженерних книгах імена векторів пишуться жирним, а імена скалярних змінних – курсивом.

Створення вектору

Вектор – масив або матриця, що містить один стовпець. Щоб створити вектор у Mathcad, виконайте таке:

  • Натисніть у вільному місці або на полі.
  • Виберіть Матриціз меню Математикаабо натисніть M. З'являється діалогове вікно, як на малюнку праворуч.
  • Введіть число рядків, що дорівнює кількості елементів вектора, у полі “Рядок”. Наприклад, щоб створити вектор із трьома елементами, надрукуйте 3.
  • Надрукуйте 1 у полі “Стовпців”, потім натисніть “Створити”. Mathcad створює вектор з порожніми полями для заповнення.

На наступному етапі необхідно заповнити ці поля скалярними виразами. Для цього виконайте таке:

  • Клацніть на верхньому полі та надрукуйте 2.
  • Перемістіть рамку в наступне поле. Можна це зробити або клавішею , або клацнувши безпосередньо на другому полі.
  • Надрукуйте 3 у другому полі. Потім перемістіть рамку, що виділяє, в третє поле, і надрукуйте 4 .

Якщо потрібно створити ще вектори, можна залишити діалогове вікно “Матриці” відкритим для подальшого використання.

Як тільки вектор створено, можна використовувати його в обчисленнях точно так, як і число. Наприклад, щоб додати інший вектор до цього вектора, необхідно виконати таке:

  • Натисніть [ ] кілька разів або клацніть на будь-якій дужці вектора. Виділяюча рамка тепер укладає весь вектор. Це означає, що знак плюс, який буде надрукований, відноситься до вектора повністю, а не до будь-якого з елементів.
  • Натисніть клавішу плюс ( + ). Mathcad показує поле для другого вектор.
  • Використовуйте діалогове вікно “Матриці”, щоб створити інший вектор із трьома елементами.
  • Заповніть цей вектор, клацнувши в кожному полі та друкуючи числа, показані праворуч. Можна також використовувати , щоб рухатися від одного елемента до іншого.
  • Натисніть на знак = , щоб побачити результат.

Додавання - лише одна з операцій Mathcad, визначених для векторів та матриць. У Mathcad також є віднімання матриць, множення матриць, скалярний твір, цілочисленні ступені, детермінанти та багато інших операторів та функцій для векторів та матриць. Повні списки з'являються у розділах “Векторні та матричні оператори” та “Векторні та матричні функції” нижче в цьому розділі.

Створення матриці

Щоб створити матрицю, спочатку клацніть у вільному місці або на полі. Потім:

  • Виберіть Матриціз меню Математика, або натисніть M. З'явиться діалогове вікно.

  • Введіть число рядків та стовпців у потрібні поля. У цьому прикладі матриця має два рядки та три стовпці. Потім натисніть "Створити". Mathcad створить матрицю із порожніми полями.
  • На завершення заповніть поля, як описано у попередньому розділі для векторів.

Можна використовувати цю матрицю в формулах точно так, як і число або вектор.

Скрізь у цьому посібнику термін вектор відноситься до вектора-стовпця. Вектор-стовпець ідентичний матриці з одним стовпцем. Можна також створити вектор-рядок, створивши матрицю з одним рядком та багатьма стовпцями. Оператори та функції, які беруть векторний аргумент, завжди чекають на вектор-стовпець. Вони не застосовні до векторів-рядків. Щоб перетворити вектор-рядок на вектор-стовпець, використовуйте оператор транспонування1.

Зміна розміру матриці

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

  • Клацніть на одному з елементів матриці, щоб укласти його в рамку, що виділяє. Mathcad починає вставку або видалення з цього елемента.

  • Виберіть Матриціз меню Математика. З'являється діалогове вікно.

  • Надрукуйте число рядків або стовпців, які потрібно вставити або видалити. Потім натисніть "Вставити" або "Видалити". Наприклад, щоб видалити стовпець, який містить вибраний елемент, надрукуйте 1 у полі “Стовпців”, 0 у полі “Рядок”, та натисніть на “Видалити”.

Ось як Mathcad видалятиме або вставлятиме рядки або стовпці, залежно від того, що вдруковується в діалогове вікно:

  • Якщо вставляються рядки, Mathcad створює рядки порожніх полів нижче за вибраний елемент. Якщо вставляються стовпці, Mathcad створює стовпці порожніх полів праворуч від вибраного елемента.
  • Щоб вставити рядок вище верхнього рядка або стовпець ліворуч від першого стовпця, спочатку увімкніть матрицю повністю в рамку, що виділяє, клацнувши всередині і натиснувши [ ] кілька разів. Потім виберіть Матриціі продовжуйте, як завжди.
  • Коли рядки або стовпці видаляються, Mathcad починає з рядка або стовпця, зайнятих вибраним елементом. Mathcad видаляє рядки вниз від цього елемента та стовпці - праворуч від цього елемента.
  • Якщо надрукувати 0 у полі “Рядок”, Mathcad не вставить, не видалить рядки. Якщо надрукувати 0 у полі “Стовпців”, Mathcad не вставить, не видалить стовпці.

Зверніть увагу, що при видаленні рядків або стовпців Mathcad викидає інформацію, що міститься в них.

Щоб видалити всю матрицю або вектор, увімкніть їх у рамку, що виділяє, і виберіть Вирізатиз меню Правка.

Покладатися на випадок чи створювати сценарій свого життя?

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

Залишилися..?

Тоді відкрию вам одну страшну таємницю!

Чим важливіша вам подія, тим негативніше малюються його картини.

Відразу включається страх: "А раптом все піде не так ..." І далі ваша уява послужливо показує вам, що може піти "не так". Зрештою, ви так накручуєте себе, що вже не бачите іншого виходу. І якщо все так і відбувається, ви кажете: "Ну ось, я так і знав/а!" А якщо не відбувається, то: "Фух, пронесло!"

Але скільки нервів було витрачено?

Знаєте, за деякими даними, весілля, яке, здавалося б, має бути найщасливішою подією для молодят, стає для них найсильнішим стресом. Це "А раптом все піде не так?" проявляється у всій красі, і видихають "щасливі" закохані, коли все нарешті закінчується.

Адже ми самі програмуємо своє майбутнє! реально!!

І немає сенсу повторювати те, що ви і так знаєте - "думки матеріальні".

Чи не простіше відразу вибрати прийнятний для вас варіант подій і більше не паритися?

Перейду одразу до головного.

Моя закрита інформаційна колекція має один особливий метод. З його допомогою ви можете самі вибирати, як розвиватимуться ті чи інші події у вашому житті. Робиться це за допомогою вашої інтуїції.

Ви просто певним чином зосереджуєтеся на будь-якій ситуації, і мозок починає видавати вам думки про те, як вона розвиватиметься. Є, звичайно, деякі тонкощі, але їх у самому документі.

При цьому ви можете погодитися із запропонованим варіантом або вимагати іншого сценарію!

У цьому вся фішка!

Тільки уявіть, наскільки це зручно!

Припустимо, у вас виникає бажання піднятися вгору кар'єрними сходами і зайняти керівну посаду.

Якщо ви зараз подумаєте, як можна цього досягти, мозок відразу видасть вам якесь рішення. Наприклад, - багато і старанно працювати, завжди показувати себе з кращого боку. Але наскільки вас влаштовує це рішення?

Напевно, десь у глибині душі ви хотіли б, щоб усе сталося набагато легше і простіше. Наприклад, щоб вас взяли і підвищили просто так, без жодної видимої причини. Приходьте на роботу, а наказ про призначення вже підписано. Нереально? Ще реально, якщо вибрати цей сценарій замість багаторічної праці.

Існує безліч варіантів розвитку подій!

І про кожний із них ваша підсвідомість знає заздалегідь! Але воно йде шляхом найменшого опору, охороняючи вас попутно від усього нового і незвіданого.

А як корисно було б обирати навіть у побутових ситуаціях!

Ось ви збираєтеся в гості до не зовсім улюбленої свекрухи чи тещі… У вас у голові вже є приблизний сценарій того, як ви відпочинете (або навпаки, видихніть, коли прийдете додому). Чи не піти не можна. Але можна дійсно добре відпочити та отримати задоволення, якщо вибрати інший сценарій!

Ось як це працює на практиці.

«Вирішила відпочити у відпустці, але не знала, куди поїхати...»

«Використала ваш секретний метод, і прямо в мозок почали сипатися варіанти з підсвідомості (фантастика просто!) - Санаторій, море, відпочинок на дачі. Спочатку подумала про санаторій, але відразу ж уяву стало малювати супротивних сусідів. Я не погодилася. Потім вирішила дізнатися про море, думка сподобалася, але всередині почула: "Немає квитків" (як потім з'ясувалося, були тільки верхні полиці, а на них я їздити не можу, на літаку боюся). Дача теж не викликала захоплення - комарі, сусіди ... Тоді я стала чекати інші рішення. Думка прийшла дуже чітка – зателефонувати до друзів… Зателефонувала. Виявляється, вони їдуть на море власним автомобілем і з радістю візьмуть мене з собою. Купую купальник, і в дорогу! » Ліля

«Спробував техніку у відношенні з дівчатами…»

«Щиро сказати у мене з цим проблеми. Друзі покликали на вихідні до клубу. Зазвичай сиджу за столиком і не танцюю. Та й уваги на мене дівчата не звертають. Але я вирішив змінити сценарій. Зробив як ви вчили і почав чекати. Прийшло, що до мене підсідає дівчина. Сидимо разом дивимось на танцюючих. Чи не надихнуло. Потім підсвідомість видала ще кілька варіантів. І нарешті прийшов сценарій, коли дівчата самі мене запрошують і від них відбою немає. Схвалив методом і забув. Так ось коли прийшли до клубу я як завжди сів за столик. Не встиг піти купити пивка як почалося найцікавіше… Спочатку одна підійшла, потім друга на танець запросила, потім третя… Такого відпочинку в моєму житті ще ніколи не було! Респект вам і поважуха! Толян

* Відгуки наведені без редактури.

Тепер ви самі можете вибирати, як розвиватимуться ваші події!

Техніка дуже проста, ніяких особливих зусиль від вас не потрібно.

Все, що вам потрібно буде зробити, це:

1. За допомогою особливого прийому очистити мозок від зайвих думок та підготувати підсвідомість до роботи.

2. Використовувати ряд найпотужніших тригерів, які змусять вашу підсвідомість відразу видавати вам різні рішення.

3. Схвалити особливим чином найкращий варіант розвитку подій.

Усі подробиці ви знайдете у закритому архівному документі “Як вибудовувати правильну матрицю подій за допомогою інтуїції”.

Усього – 730 р.! Щоб швидко отримати метод, просто перейдіть за посиланням та дотримуйтесь

ОСОБИСТУ ПІДТРИМКУ ГАРАНТУЮ!

Я завжди підтримую зв'язок зі своїми передплатниками та обов'язково відповідаю на всі запитання. Якщо в процесі практики щось піде не так, або ви захочете уточнити щось, я завжди вам допоможу. Можливо, відповім не відразу, тому що листів у моїй пошті щодня дуже багато, але гарантую, що неодмінно відповім.

Моя особиста адреса: [email protected]сайт

P.S.Тільки вдумайтесь! Вам буде легко самостійно керувати своїм життям! Ви просто вибираєте потрібний сценарій.

З повагою, Олександр Клінг

У Mathcad легко створити матриці, що мають певну просту будову, за допомогою однієї із вбудованих функцій.

identity (N)- Поодинока матриця розміру NxN;

diag(v)- діагональна матриця, на діагоналі якої є елементи вектора v:

N – ціле число;

v – вектор.

Виділення підматриці

З матриці або вектора можна виділити або підматрицю, або стовпець вектор, або окремий елемент. І назад, можна "склеїти" кілька матриць в одну.

Частина матриці виділяється одним із наступних способів.

    виділення одного елемента призначений оператор нижнього індексу. Оператор вводиться натисканням кнопки Subscript (Нижній індекс) зі значком x n на панелі Matrix (Матриця) або натисканням клавіші<[> ;

    для виділення з матриці стовпця застосуйте оператор виділення стовпця натисканням кнопки Matrix Column із зображенням кутових дужок<>на панелі Matrix, або поєднанням клавіш +<6>.Цей оператор називають ще, за аналогією з попереднім, оператором верхнього індексу;

    щоб виділити з матриці рядок, застосуйте той самий оператор<>до транспонованої матриці;

    для виділення підматриці використовуйте вбудовану функцію submatrix (A, ir, jr, ic, jc), що повертає частину матриці А, що знаходиться між рядками ir, jr та стовпцями ic, jc включно.

ПРИМІТКА 1

Виділити з матриці один стовпець або рядок можна за допомогою функції submatrix.

ПРИМІТКА 2

Ті ж операції застосовні до матриць-векторів і матриць-рядків. Слід пам'ятати лише, що їх розмір становить Nx1 і 1xN відповідно.

Злиття матриць

Для того щоб скласти з двох або більше матриць одну, Mathcad передбачена пара матричних функцій:

    augment (А, B, C, ...) – матриця, сформована злиттям матриць-аргументів зліва направо;

    stack (А, B, C, ...) - матриця, сформована злиттям матриць-аргументів зверху вниз:

А, B, C,. .. - вектори або матриці відповідного розміру.

Специфічні перетворення матриць

Ще дві вбудовані функції Mathcad дозволяють створювати матриці на основі деякої наявної матриці:

    geninv(A) - створення матриці, зворотної (ліворуч) прямокутної матриці А;

    rref (А) - перетворення матриці або вектора А в ступінчастий вигляд:

А – матриця, складена з дійсних чисел.

ПРИМІТКА

Розмір NxM матриці для функції geninv повинен бути таким, щоб N>M.

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

    sort(v) - сортування елементів вектора у порядку зростання

    reverse (v) - перестановка елементів вектора у зворотному порядку;

    csort (A, i) - сортування рядків матриці вибудовуванням елементів 1-го стовпця в порядку зростання;

    rsort (A, i) - сортування стовпців матриці вибудовуванням елементів i-го рядка в порядку зростання:

v – вектор;

А – матриця;

i - індекс рядка чи стовпця.

ПРИМІТКА

Якщо елементи матриць або векторів комплексні, то сортування ведеться насправді, а уявна частина ігнорується.

Сортування матриць за рядком та стовпцем

Для отримання відомостей про характеристики матриць або векторів передбачені такі вбудовані функції (приклад 9 та 10 відповідно):

    rows (A) – число рядків;

    cols (А) – число стовпців;

    length (v) – число елементів вектора;

    last(v) - індекс останнього елемента вектора

    max(A) Найбільший елемент у масиві A. Якщо A має комплексні елементи, повертає найбільшу речовинну частину плюс i, помножену на найбільшу уявну частину.

    min(A) Найменший елемент у масиві A. Якщо A має комплексні елементи, повертає найменшу речовинну частину плюс i, помножену на найменшу уявну частину.

А – матриця або вектор;

v – вектор.

ПРИМІТКА

Якщо матричні індекси нумеруються з 1, тобто системна константа ORIGIN дорівнює не (за замовчуванням), а 1, то число елементів вектора і індекс його останнього елемента збігаються.

Розмір матриць

Розмір векторів

Фільм "Матриця", братів Вачевськи, безумовно, є культовим серед кіберпанку, але наскільки реальною є перспектива створення подібної "Матриці" насправді? Щоб відповісти на це питання, вчені провели аналіз готовності суперкомп'ютерів щодо створення віртуальної реальності. І за словами Майкла Макг'юїгана з Брукхевенської національної лабораторії, такого роду завдання створення штучних світів, нарівні з реальністю, не така вже й фантастика, а недалеке майбутнє!

У 1950 році, Алан Тьюрінг, що стояв біля витоків сучасної комп'ютерної науки, запропонував елементарний тест для штучного інтелекту, який полягав у тому, щоб під час розмови двох співрозмовників, один з яких – машина, третя людина спробувала точно визначити, хто з них хто.

Варіантом цього тесту Тьюринга є графічний тест Тьюринга, який відрізняється тим, що людина, спостерігаючи і взаємодіючи зі штучно-створеним світом, повинна бути не в стані напевно відрізнити її від реальності. "Під взаємодією мається на увазі можливість контролювати об'єкт, наприклад, обертати його, при цьому він повинен промальовуватися в режимі реального часу", - пояснює Макгьюїган.

Незважаючи на те, що існуючі комп'ютери можуть створювати штучні сцени з досить деталізованими текстурами, які здатні обдурити людське око, на промальовування таких сцен йде не одна година. Можливість проходження графічного тесту Тьюринга полягає у суміщенні фотореалізму зображення, з програмним забезпеченням, здатним промальовувати зображення реальному часі - зі швидкістю 30 кадрів на секунду.

Як повідомляє New Scientist, щоб визначити, наскільки близька сучасна комп'ютерна техніка до створення віртуальної реальності, Макґуїган вирішив скористатися найпотужнішим суперкомп'ютером у світі - Blue Gene/L, розташованим у Брукхевенській лабораторії в Нью-Йорку. Суперкомп'ютер складається з 18 стійок у кожній з яких знаходиться 2 тис. стандартних процесора для ПК, при цьому він працюють у режимі паралельних обчислень, що дає Blue Gene його величезну продуктивність у 103 терафлопс, або 103 трлн. операцій з плаваючою точкою за секунду. Для порівняння, звичайний калькулятор виконує 10 операцій із плаваючою точкою за секунду.

Саме дослідник вивчав здатність суперкомп'ютера відображати гру світла на об'єкті, що є важливим компонентом будь-якого віртуального світу, що претендує на достовірне відображення реальності.

Отримані результати показали, що звичайна програма, що простежує проходження променів на Blue Gene, працює в 822 рази швидше, ніж на стандартному комп'ютері, навіть незважаючи на те, що програма не оптимізована для роботи з паралельними процесорами. Така швидкість дозволяє прийнятному рівні відображати природне освітлення у часі.

"Хороша новина полягає в тому, що людське око сприймає промальовування цих променів, як природне, - каже Макгьюїган. - Я використав програму, яку було відносно просто портувати для роботи з такою великою кількістю процесорів. Інші програми можуть працювати значно швидше і ще більш реалістично ". І все-таки, навіть Blue Gene з усією його швидкістю та реалістичністю не в змозі досить швидко промалювати зображення у високій роздільній здатності, щоб пройти графічний тест Тьюринга.

Проте дослідник упевнений у тому, що суперкомп'ютери, здатні пройти тест, з'являться протягом найближчих років. За його припущенням, проходження тесту стане можливим, коли продуктивність комп'ютерів досягне позначки один петафлопс, або одна тисяча терафлопсів.

Інші дослідники вважають, що проходження графічного тесту Тьюринга вимагатиме набагато більшого, ніж просто фотореалістична графіка, що рухається в реальному часі. Реальність набагато складніша, каже Пол Річмонд та університету Шеффілда, Великобританія. За його словами, штучний об'єкт може виглядати як справжній, але якщо він не рухатиметься в реалістичній манері, то зі справжнім його не сплутати. "Головною проблемою є створення реалістичної імітації, яка включає реалістичну імітацію поведінки", - говорить він.

Марк Грандланд з Кембріджського університету зазначає, що графічний тест Тюрінга не уточнює, що має передавати сцена віртуального світу. "Якби малося на увазі, що для проходження тесту потрібно відобразити сферу, що відображає розсіяне світло на поверхні, що відображає розсіяне світло, то тест був би вже давно пройдений, - каже він. - Але Тьюрінг не міг уявити, що його ідеї так швидко стануть реальністю".

Макгьюїган згоден з тим, що реалістична анімація сама по собі є проблемою. "Моделювання чогось постійно змінюється представляється досить складним процесом, - підтверджує дослідник. - Ви повинні переконати глядача в тому, що щось, що стрибнуло у віртуальному світі, має вагу". Проте він з оптимізмом дивиться на майбутнє програм роботи з анімацією. На його думку, створення віртуальної реальності передбачає роботу з рухом і освітленням. З другим моментом уже розібралися – справа за рухом.

Найбільш наочним способом створення матриці або вектора є застосування першої кнопки панелі інструментів Matrix (Матриці) (див. Розд. "Массиви" гл. 4). Однак у більшості випадків, зокрема при програмуванні складних проектів, зручніше буває створювати масиви за допомогою вбудованих функцій.

Визначення елементів матриці через функцію

  • matrix(M,N,f) - створення матриці розміру MXN, кожен i,j елемент якої є f(i,j) (листинг 9.19);
    • м – кількість рядків;
    • N – кількість стовпців;
    • f(i, j) – фуНКЦІЯ.

Лістинг 9.19. Створення матриці

Для створення матриць є ще дві специфічні функції, які застосовуються, в основному, для швидкого та ефектного представлення будь-яких залежностей у вигляді тривимірних графіків (типу поверхні або просторової кривої). Усі їх аргументи, крім першого (функції), необов'язкові. Розглянемо першу із функцій.

  • СгеаtеSрасе(F(або f1, f2, f3) , t0, t1, tgrid, fmap) - створення вкладеного масиву, що представляє х-, у-і z-координати параметричної просторової кривої, заданої функцією р;
    • F(t) - векторна функція із трьох елементів, задана параметрично щодо єдиного аргументу t;
    • f1(t), f2(t), f3(t) - скалярні функції;
    • t0 - нижня межа t (за умовчанням -5);
    • t1 - верхня межа t (за умовчанням 5);
    • tgrid - число точок сітки змінної t (за замовчуванням 2о);
    • fmap – векторна функція від трьох аргументів, що задає перетворення координат.

Про вкладені масиви читайте в розд. "Створення тензора" гол. 4.

Рис. 9.4. Використання функції CreateSpace з різним набором параметрів

Приклад використання функції CreateSpace показано на рис. 9.4. Зауважте, для побудови графіка спіралі не потрібно жодного додаткового коду, крім визначення параметричної залежності у вектор-функції F!

Функція створення матриці для графіка тривимірної поверхні влаштована абсолютно аналогічно, за винятком, що для визначення поверхні потрібна не одна, а дві змінних. Приклад використання ілюструє рис. 9.5.

Рис. 9.5. Використання функції CreateMesh з різним набором параметрів

  • CreateMesh(F(або g, або f1, f2, f3) , s0, s1, t0, t1, sgrid, tgrid, fmap) - створення вкладеного масиву, що представляє х-, у- та z-координати параметричної поверхні, заданої функцією F ;
    • F(s,t) - векторна функція із трьох елементів, задана параметрично щодо двох аргументів s та t;
    • g(s, t) – скалярна функція;
    • f1(s,t),f2(s,t),f3(s,t) - скалярні функції;
    • s0, t0 – нижні межі аргументів s, t (за замовчуванням -5);
    • s1, t1 – верхні межі аргументів s, t (за замовчуванням 5);
    • sgrid, tgrid - число точок сітки за змінними s та t (за умовчанням 20);
    • fmap - векторна функція трьох елементів від трьох аргументів, що задає перетворення координат.

Приклади вкладених масивів, що створюються функціями createMesh і createspace, наведено у лістингу 9.20. Кожна матриця з трьох вкладених матриць, що утворюють масив, визначає х-, у- і z-координати точок поверхні або кривої, відповідно.

Лістинг 9.20. Результат дії функцій CreateMeeh та CreateSpace (рис. 9.4 – 9.5)

Створення матриць спеціального виду

У Mathcad легко створити матриці певного виду за допомогою однієї із вбудованих функцій. Приклади використання цих функцій наведено у лістингу 9.21.

  • identity (N) – одинична матриця розміру NXN;
  • diag(v) - діагональна матриця, на діагоналі якої є елементи вектора v;
  • geninv(A) - створення матриці, зворотної (ліворуч) матриці А;
  • rref (A) - перетворення матриці або вектора А в ступінчастий вигляд;
    • N – ціле число;
    • v – вектор;
    • А -матриця із дійсних чисел.

Розмір NXM матриці для функції geninv повинен бути таким, щоб N>M.

Лістинг 9.21. Створення матриць спеціального виду