понеділок, 6 квітня 2015 р.

Мікро-оптимізація

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

Код, варіант 1:

double hamiltonian(const FK_GA_c::Individual & _indi)
{
    double sum = 0;
    for (unsigned i = 0; i < _indi.size(); i=i+2) {
        //i -- n_f,
        //i+1 -- n_d
        double n_f_i = _indi[i];
        double n_d_i = _indi[i+1];
        sum-=defparams.mu_f*n_f_i;
        sum-=defparams.mu_d*n_d_i;
        sum+=defparams.U*n_f_i*n_d_i;
        // 
        auto i_plus_1 = i+2; //i+1 в математичному сенсі --- наступний вузол
        // Циклічні граничні умови
        if(i_plus_1>=_indi.size()-1)
            i_plus_1=0;
        double n_f_i_1 = _indi[i_plus_1];
        double n_d_i_1 = _indi[i_plus_1+1];

        double base_hopping = (1-n_d_i)*n_d_i_1;
        double hopping=defparams.t1;
        hopping+=defparams.t2*(n_f_i+n_f_i_1);
        hopping+=defparams.t3*(n_f_i*n_f_i_1);

        hopping*=base_hopping;
        sum+=hopping;
    }
    return -sum;
} 
 
Це давня робоча версія, яка має ряд фундаментальних недоліків, але навряд чи мені буде охота повторювати весь цей цикл модифікацій, про які розповідатиму, заново -- треба зразу нормально писати :-), тому ілюструвати буду на ній. Сподіваюся, пробачите деякі вульгарності.

субота, 7 березня 2015 р.

Марсіанська армада та комета Siding Spring - 2014

В жовтні 2014 відбулася подія із класу феноменального везіння. 19 жовтня 2014 поруч із Марсом пролітала комета Siding Spring (C/2013 A1) з хмари Оорта. В чому везіння? -- ту ж "Розетту" згадуючи? Комети, такі як Чурюмова-Герасименко -- короткоперіодичні, вони "тусуються" біля Сонця давно, вже ґрунтовно "просмажені" ним. Зате планувати місії до них відносно просто -- вони постійно тут. А комета Siding Spring (C/2013 A1) прилетіла до нас здалеку, навряд чи раніше бувала так близько до Сонця і повернеться не скоро -- після проходження перигелію період буде порядку мільйона років. Трагедія із такими, майже міжзоряними, гостями, в тому, що  спланувати до них спеціалізовану експедицію майже неможливо -- від моменту виявлення залишається замало часу. Наприклад, дану відкрили  3 січня 2013 року, менше ніж за рік до прольоту попри Марс.

Як би там не було, цього разу така комета сама прилетіла в мацаки земних станцій. Правда, марсіанських -- не спеціалізованих для дослідження комет, але це все рівно бааагато краще, ніж нічого!
Хмара Оорта та пояс Койпера. Взято тут.

четвер, 5 березня 2015 р.

Індієць MOM - 2015 - 1

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

7 жовтня станція виконала маневр, який дозволив їй заховатися за  Марсом під час зустрічі із кометою Siding Spring, використавши 1.9 кг палива (із ~40 кг запасу).

Поміж те все продовжували фотографувати.
Ліворуч -- вулкан Олімп, найбільший в сонячній системі. Праворуч -- долина Марінера. По центру -- Tharsis Montes, три великих щитових вулкани, Ascraeus Mons, Pavonis Mons і Arsia Mons.
4 жовтня 2014 р, висота 76680 км, MOM. Видно, що калібрування камери явно уточнюється -- якість зображення росте. Клікабельно!
(c) ISRO

вівторок, 3 березня 2015 р.

Що ж розповів Dawn про Весту

Кратер Cornelia. Опис - нижче.
Колись вже описував, як виглядала для нас Веста до прильоту Dawn, та як вона почала проявлятися перед очима: "Перші результати Dawn з Вести. Остання фото -- 25 км на піксель!", "Наближаючись до Вести". Але самі фото --це ще навіть не початок. Користуючись даними від приладів, науковці проводять дослідження будови, геології, історії небесного тіла. 


Про попередні дослідження колись давно вже теж писав: "Новини з Вести, кінець 2011". Як там згадується, мені бракує і компетенції і зацікавленості безатмосферними тілами, щоб самому писати про те, що ж вдалося вияснити з того часу. Але недавно [ну, недавно -- на момент написання цього поста] Emily Lakdawalla з The Planetary Society зробила це за мене: "What did Dawn learn at Vesta?". Для тих, хто володіє англійською хоча б базово -- краще читайте оригінальну статтю! А для решти спробую коротко переказати.

понеділок, 2 березня 2015 р.

Церера -- наближаємося [update 2]

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

Церера. 19 лютого 2015, 46 000 км, 4 км на піксель. Зображення збільшено вдвічі відносно оригінального.
(c) NASA / JPL / UCLA / MPS / DLR / IDA
Емілі пробує проаналізувати побачене: "At last, Ceres is a geological world", зокрема, проводить чисельні порівняння із іншими схожими тілами, на загал - дуже рекомендую! Мені бракує кваліфікації, щоб якось оцінювати чи коментувати самостійно, однак на кілька речей увагу звернути хочу.

неділя, 1 березня 2015 р.

Rosetta -- 2015, попередні результати 2014-го

Джети. Підпис та це ж фото у
великому розмірі, див. нижче!
Розпочався потік доповідей на конференція, статей в наукових журналах, прес-релізів відповідних із попередніми результатами роботи "Розетти"-"Філи". Спробую коротко про них розповісти. Наперед прошу вибачення за неточності -- пишу про речі, у яких аж ніяк не є спеціалістом (та й, взагалі, див. заголовок блогу :-).
Нижче -- всілякі вимірювання комети,  співвідношення ізотопів, пилюка на поверхні і в космосі, двометрові пилинки, тендітна атмосфера (екзосфера), з її CO2 та H2O, джети, геоморфологічні області, обриви і т.д. 

четвер, 26 лютого 2015 р.

Rosetta -- 2015, працює та чекає на Philae

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

Нагадаємо, 27 листопада 2014 ми знайомилися з підсумками активної роботи Philae. (Сподіваюся, лише першої її частини, хоч і не вірю в реалістичність цих сподівань). Про власну роботу "Розетти" взагалі не згадували з 11 листопада.

Зразу після цьго, 28 листопада 2014, опубліковано нові дані, з ROMAP, (Rosetta Lander Magnetometer and Plasma Monitor) на борту Philae. Його виміри використовувалися для спостереження за станом спускного апарату. Зокрема, магнітометр фіксував зміну орієнтації апарату в навколишньому магнітному полі. Згідно його показів: