Рубрика «матрицы» - 3

Sony в августе откроет компанию, которая будет оказывать геодезические и инспекционные услуги корпорациям с помощью беспилотных летательных аппаратов. В аппаратах используют технологии Sony в области сенсоров и технологии японского стартапа ZMP в области автоматизированного управления техникой.

Sony открывает компанию для оказания геодезических и инспекционных услуг с помощью дронов - 1
Sony/ZMP
Читать полностью »

Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать полностью »

Canon разработала сенсор для съёмки видео FullHD, способный снимать почти в полной темноте Canon разработала сенсор для съёмки видео FullHD, способный снимать почти в полной темноте

Полноразмерная 35-миллиметровая CMOS-матрица предназначена исключительно для записи видео. За счёт этого на ней не очень много пикселей, а их размеры гораздо больше, чем в Full-Frame сенсоре фотоаппарата. Соотношение сторон матрицы 16:9, так что, строго говоря, это не стандартные 35мм, но её площадь позволяет использовать объективы с байонетом Canon EF.

При создании сенсора были использованы новые технологии шумоподавления. Это позволило добиться выдающихся результатов — камера с таким сенсором может снимать довольно качественное цветное видео при освещённости в 0.01 — 0.05 люкс.

Камера с таким сенсором способна отчётливо и в цвете заснять лицо человека, освещённое огоньком тлеющей ароматической палочки. Изображение, снятое в лунную ночь, выглядит так, как будто его снимали днём. Человек невооружённым глазом способен рассмотреть в ночном небе звёзды до 6 звёздной величины, а с помощью нового сенсора можно заснять звёзды величиной до 8,5.
Читать полностью »

Numbers.js добавляет к стандартным математическим возможностям JavaScript немного продвинутой математики — интегралы, операции над матрицами и комплексными числами, статистические функции, факторизацию и некоторые другие функции. Кроме того, библиотека определяет базовые арифметические операции над массивами — сложение, вычитание и умножение элементов, поиск минимума и максимума, случайное перемешивание массива и позволяет в явном виде задавать необходимую точность вычислений, что помогает избежать ошибок округления.
Читать полностью »

Недавно на хабре появилась неплохая статья про вычисление N-ного числа фибоначи за O(log N) арифметических операций. Разумный вопрос, всплывший в комментариях, был: «зачем это может пригодиться на практике». Само по себе вычисление N-ого числа фибоначи может и не очень интересно, однако подход с матрицами, использованный в статье, на практике может применяться для гораздо более широкого круга задач.

В ходе этой статьи мы разберем как написать интерпретатор, который может выполнять простые операции (присвоение, сложение, вычитание и урезанное умножение) над ограниченным количеством переменных с вложенными циклами с произвольным количеством итераций за доли секунды (конечно, если промежуточные значения при вычислениях будут оставаться в разумных пределах). Например, вот такой код, поданный на вход интерпретатору:

loop 1000000000
  loop 1000000000
    loop 1000000000
      a += 1
      b += a
    end
  end
end
end

Незамедлительно выведет a = 1000000000000000000000000000, b = 500000000000000000000000000500000000000000000000000000, несмотря на то, что если бы программа выполнялась наивно, интерпретатору необходимо было бы выполнить октиллион операций.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js