169 похожих чатов

Вопрос в том, что как избежать того, что я хочу

автоматически упростить выражение, но не засовывать функцию упрощения в условный lorenz? Ведь это всегда будет замедлять выполнение. Но и не хочется засорять "глобальное пространство имён". Такой компромис вообще возможен?

5 ответов

13 просмотров

Может быть, надо так lorenz!(du,u,p,t) = F(u) где F(u) - выражение функции R^3->R^3, которое предварительно надо упростить. Или я неправильно понял вопрос?

Илья-Гаража Автор вопроса
Виктор Федоров
Может быть, надо так lorenz!(du,u,p,t) = F(u) гд...

Вот вопрос про предварительное упрощение. Как стоит упрощать, не засоряя пространство лишними переменными? Или это в Julia не так критично? В смысле, что если уж по-настоящему заморачиваться с производительностью, то проще явно прописать упрощённое?

Илья Гаража
Вот вопрос про предварительное упрощение. Как стои...

Символьные вычисления в Julia я особенно не использовал. Но ясно, что если нужна производительность, то сначала надо упростить

Илья Гаража
Вот вопрос про предварительное упрощение. Как стои...

Чтобы не засорять пространство лишними символьными переменными можно все это обернуть в функцию (высшего порядка), которая будет упрощать символьное выражение и возвращать обычную числовую функцию. Таким образом, все символьные переменные будут локальными переменными этой функции, время жизни которых ограничено

Илья Гаража
Вот вопрос про предварительное упрощение. Как стои...

На всякий случай. Определение lorenz!(du,u,p,t)=F(u), конечно, является ошибочным, потому, что функция lorenz! должна иметь побочный эффект: она должна изменять внешний массив du, а сейчас она этого не делает. Правильно было бы так function lorenz!(du,u,p,t) du .= F(u) end

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта