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

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

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

5 ответов

23 просмотра

Может быть, надо так 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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта