nixp.ru v3.0

24 мая 2017,
среда,
05:12:30 MSK

DevOps с компанией «Флант»
propeller написал 29 октября 2006 года в 00:20 (295 просмотров) Ведет себя как мужчина; открыл 53 темы в форуме, оставил 158 комментариев на сайте.

слышал, что какой-то из математических продуктов решает линейные системы, записанный матрицой, причем системы больших размеров, быстрее чем реализованные в виде какого-либо метода на том же Си.

Не знает ли кто, о каких программах идет речь? Что-то типа маткада, мапла и т.д.

metal

Из самой постановки вопроса следует что это не верно. Любые подобные программы тоже на чем-то написаны и эффективная реализация на С точно не будет медленее. Единственный вариант который может быть быстрее — это на ассемблере, но это еще надо сильно постараться. Можно предположить что эти самые методы написаны на ассемблере, а все остальное на чем-то другом. Теоритически это возможно, но на практике мало реально. Код на ассемблере плохо переносится и с большой долей вероятности эффективный код для одного процессора не эффективен для другого. Таким образом, думаю таких программ нет.

Feuerbach

propeller, чос. Да, многие мат.пакеты позволяют обращаться к ним как к библиотеке (точно могу говорить про Mathematica, у других наверное тоже что-то подобное есть). Да, там могут быть реализованы методы, которые не реализованы в опенсорсных библиотеках и которые ты в одиночку вряд ли реализуешь за полиномиальное время :) Но чтобы кто-то решал _систему линейных уравнений_ эффективнее, чем такой же алгоритм на C — имхо, чос.

propeller

если думать логично, то и впрямь странно. разве только ребята не оптимизируют компиляцию под ось так, как не умеет это делать стандартный компилятор. это уже просто чушь какая-то.

ну а о существовании приватных методов решения для общего случая думать не следует.

странно.

myst

про SSE не слышали что ли? Там банально пару строк на асме написать надо и всё — это не проблема сделать для любого процессора, где есть что-то типа SSE, а для остальных — код на C.

Что касается пакета, то все современные пакеты юзают Maple’овский движок. Так что, смотри Maple.

Shapec

хех… метод Гауса на Си и всё ОК =)

быстро и просто

Feuerbach
Shapec
хех… метод Гауса на Си и всё ОК =)

быстро и просто

Ну да. Для любой задачи существует быстрое, простое, красивое, неправильное решение.

Shapec
Feuerbach
Ну да. Для любой задачи существует быстрое, простое, красивое, неправильное решение.

что же такого неправильного тебе увиделось в методе Гауса? =)

Waterlaz

Со всей ответственностью заявляю, что в общем случае вы не решите систему уравнений быстрее, чем методом Гаусса… Оптимизации возможны лишь в некоторых случаях… к примеру разряженные матрицы….