Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Як людина з комп'ютерними науками, я був дуже розгублений, коли вперше зустрів математиків, які наполягали, що тензор — це не матриця. Бо обидва вони явно багатовимірні масиви. Але потім я зрозумів... Математики завжди використовують чітко типізовані мови у своїй голові!
Для комп'ютерного науковця структура, функції, інтерфейс і обмеження є чітко розділеними та взаємоконвертованими. Тензор — це матриця, яку ви розглядаєте як тензор. Можна змусити їх змішувати, клас — це набор усіх чотирьох, але це не обов'язково.
Коли вони кажуть, що вектори — це не списки чисел, це тому, що вони навчилися бути перевіряючими типів для охоче оцінюваних сильно типізованих логічних мов. Математики ведуть у своїй голові щось, що по суті є магічною перевіркою типів.
Люди з комп'ютерних наук здебільшого розумово використовують lisp і/або C, залежно від того, чи хочемо ми бути інтерпретатором чи комп'ютером. Якщо ми запускаємо сильно типовий ментальний симулятор, він кладеться зверху. Навіть Haskell відокремлює оголошення типів від реалізації.
Але математика виконується лише за типами! Вони роблять усе з сильно типовими макросами! Це як граничний випадок типів Гіндлі–Мілнера, якщо робити спекулятивне розширення для кращого стиснення. Це дозволяє математикам абстрактно оптимізувати компіляції програм.
Тепер, коли я роблю більше реальних розрахунків, я бачу силу цього підходу. Але я вважаю, що підхід до комп'ютерних наук недооцінюється математиками. Бо мудрість CS полягає в тому, що тензор — це матриця, але матриця — не тензор. Змінні — це те, на що ви можете їх накладати.
Математики знають про відливки, але називають їх кумедними назвами, як-от «морфізми». І вони визнають, під тиском, що якщо у вас є відповідний закидок, ви можете використати вектор як обертання відповідної розмірності.
Але вони скажуть, що ви не використовуєте вектор як обертання, ви вивели бівектор під бла-бла-бла-бла. Це правда, якщо ви супер-HM перевіряєте типи Prolog. Це не так, якщо ви компілятор, інтерпеттер або комп'ютер.
В будь-якому разі, я все одно сварюся з математиками через це, бо це абсурдно — заперечувати, що типування качок працює, але вони праві, що все одно потрібна уніфікація типів.
@St_Rev І ні, тензор — це підтип матриці, а не навпаки. Матриця є більш загальним об'єктом, тензори повинні підкорятися більшій кількості обмежень.
@SokobanHero Оскільки багатолінійне відображення завжди може бути реалізоване як матриця (технічно гіперматриця, оскільки люди, очевидно, використовують матрицю лише для значення масиву рангу 2 n-dim) і навпаки в певному просторі, я вважаю, що однаково розумно йти в будь-якому напрямку.
55,12K
Найкращі
Рейтинг
Вибране

