суббота, 15 сентября 2012 г.

Циклы в TeX

Хотя TeX - это язык разметки текста, в нем есть возможность организовывать циклы.

Основная схема такова
\newcounter{qq}
\setcounter{qq}{1}

\loop
\addtocounter{qq}{1}

\ifnum \value{qq}<11 br="br" repeat="repeat">
Причем здесь используются средства самого TeX (даже не LaTeX), никаких пакетов подключать не нужно. А с пакетами можно получить еще больше возможностей - есть, скажем, пакет ifthen.

вторник, 20 марта 2012 г.

Предобуславливатели и Matlab

Набор предобуславливателей в Matlab невелик - по сути один только ILU(p).

По счастью, люди, которые пишут соответствующий код, в курсе, что нам неохота осваивать Фортран ради пары экспериментов с новым предобуславливателем. Поэтому не забывают добавить в архив интерфейс к Matlab-у (а то и сделать полноценную Matlab-версию).

По ссылкам можно скачать несколько не самых заезженных предобуславливателей с Matlab-интерфейсом:
  • Sparslab (AINV, SAINV, RIF, ICAJ);
  • SPAI (тут только документация);
  • Saad software (смотреть Matlab suite, там есть ARMS в .m).

И вот еще по дороге какой-то объемистый документ нашел с главой про preconditioning. Многообещающая фраза "it can be proved that..."

пятница, 10 февраля 2012 г.

Разрезание больших iso

C появлением двуслойных DVD стали появляться iso-шки размером больше 5 ГБ. Т.е. если твой привод не поддерживает запись на эти новомодные двуслойники - надо пилить образ.

Есть какие-то специальные программы для этих целей (конкретно для iso), но проще воспользоваться обычным WinRAR. Делаем архивацию, при этом задействуем опцию Split archive. Только вот сколько будет проходить архивация в режиме Normal пятигигового файла - страшно подумать. Поэтому нужно выставить режим компрессии Store - при этом вообще никакого сжатия происходить не будет и мы просто распилим архив. Собирать кусочки затем очень просто - нужно просто разархивировать первую часть, а все остальное WinRAR сделает сам.

понедельник, 16 января 2012 г.

Excel и случайные числа

Заполнить ячейку случайным числом (распределение - равномерное на [0,1]) можно с помощью функции СЛЧИС().

Если нужно какое-то другое распрделение используем квантильное преобразование :
y = F ^-1(x), где x - равномерно распределенная сл.вел., F - требуемая функция распределения.