Pull to refresh
91
0

Open source contributor

Send message

Как LINQ, только быстрый и без аллокаций

Reading time4 min
Views24K

Кому не нравится LINQ в C#? Встроенная и уже достаточно старая фича языка C# и рантайма .NET.

Но можем ли мы сделать более эффективную версию LINQ, чтобы и быстрее, и не кушало памяти? Давайте попробуем!

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments28

Очень типобезопасно! Концепт продвинутой расширяемой системы единиц измерения с generic math для .NET

Reading time3 min
Views5K

Что может быть лучше десятка пары часов проведенных с дженериками и compile time safety в C#?

В этом очерке о единицах измерения, а точнее о том, как можно сделать потенциально очень крутую систему с полной проверкой на этапе компиляции, автоматической конверсией единиц измерения, кастомизированностью и расширяемостью во все стороны! Да, и еще неплохой производительностью. И вообще!

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments15

Ускоряем цикл foreach до for

Reading time6 min
Views17K

Привет!

В этой небольшой заметке о быстром енумераторе для foreach на C#:

foreach (var i in 1..10)

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

Будет много бенчмарков и шарплаба. Прошу под кат!

Читать далее
Total votes 45: ↑45 and ↓0+45
Comments23

Хостим WASM-приложения на github pages в два клика

Reading time4 min
Views9.5K

Приветствую. Хочу донести гениальную и простейшую идею о том, как можно бесплатно хостить несложные бессерверные веб-приложения на Blazor WASM на github pages.

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

Прошу под кат!

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments8

AngouriMath 1.3 update

Reading time5 min
Views4.3K

Four months of awesome work together with a few new contributors finally result in a new major release, which I'm happy to announce about.

Now we get completely new matrices, improved parser, a lot of new functions, almost rewritten interactive package (for working in Jupyter) and many more.

This article about a big update in a FOSS symbolic algebra library for .NET, I hope it may be interesting for someone!

Read more
Total votes 5: ↑5 and ↓0+5
Comments0

Compilation of math functions into Linq.Expression

Reading time12 min
Views5.7K

Here I am going to cover my own approach to compilation of mathematical functions into Linq.Expression. What we are going to have implemented at the end:

1. Arithmetical operations, trigonometry, and other numerical functions

2. Boolean algebra (logic), less/greater and other operators

3. Arbitrary types as the function's input, output, and those intermediate

Hope it's going to be interesting!

Read more →
Total votes 4: ↑4 and ↓0+4
Comments1

Компилируем математические выражения

Reading time11 min
Views7.1K

Хочу рассказать свою реализацию компиляции математических выражений. Будем компилировать в функцию от произвольных аргументов. В планах:

1. Арифметические операции, тригонометрия, и другие численные функции.

2. Булева алгебра (логика), логические операторы (и, или, и т. д.), а так же знаки сравнения.

3. Произвольные типы в качестве входных, выходных, и промежуточных.

Приятного чтения!

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments25

Что нового в AngouriMath 1.2?

Reading time5 min
Views2.4K

Спустя 210 дней, 600 коммитов, десятки дебажных ночей и тысячи сообщений в обсуждениях проекта, я таки выпустил релиз AngouriMath 1.2.

Это небольшая опен-сорсная библиотека символьной алгебры для C# и F#, но вдруг кому-нибудь интересно?

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments2

Методы без аргументов — зло в ООП, и вот как его полечить

Reading time5 min
Views8K

Привет!


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



Обращение к ленивому свойству объекта наглядно

Читать дальше →
Total votes 11: ↑7 and ↓4+9
Comments15

Jupyter for .NET. «Like Python»

Reading time2 min
Views2.1K
A few months ago Microsoft announced about the creation of Jupyter for .NET. However, people are barely interested in it despite how attractive the topic is. I decided to make a LaTeX wrapper for the Entity class from a symbolic algebra library:



Looks awesome. Is simple. Very enjoyable. Let's see more!
Read more →
Total votes 2: ↑2 and ↓0+2
Comments0

Jupyter для .NET. «Как в питоне»

Reading time3 min
Views9K
Несколько месяцев назад Microsoft рассказали о Jupyter в .NET. Но активности по этому топику очень мало, а ведь тема очень интересная. Но что такое прикольное придумать? Я решил сделать удобный вывод класса Entity из библиотеки символьной алгебры:



Выглядит круче, чем в питоне. Делается просто, доставляет массу удовольствия. Приглашаю под кат!
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments11

Тензоры для C#. И матрицы, и векторы, и кастомный тип, и сравнительно быстро

Reading time5 min
Views7.4K
Привет!

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


Читать дальше →
Total votes 8: ↑7 and ↓1+12
Comments15

Developing a symbolic-expression library with C#. Differentiation, simplification, equation solving and many more

Reading time15 min
Views8K
Hello!

[UPD from 12.06.2021: if you're looking for a symbolic algebra library, AngouriMath is actively developed. It's on Github and has a website. Discord for questions]

Why does programming a calculator seem to be a task, which every beginner undertakes? History might have the answer — computers were created for this exact purpose. Unlike the beginners, we will develop a smart calculator, which, although won't reach the complexity of SymPy, will be able to perform such algebraic operations as differentiation, simplification, and equations solving, will have built-in latex support, and have implemented features such as compilation to speed up the computations.

What are the articles about?
It will superficially tell about assembling an expression, parsing from a string, variable substitution, analytic derivative, equation numerical solving, and definite integration, rendering to LaTeX format, complex numbers, compiling functions, simplifying, expanding brackets, and blah blah blah.
For those who urgently need to clone something, repository link.

Let's do it!
Read more →
Total votes 5: ↑4 and ↓1+4
Comments0

Пишем «калькулятор». Часть II. Решаем уравнения, рендерим в LaTeX, ускоряем функции до сверхсветовой

Reading time7 min
Views9.8K
Привет!

Итак, в первой части мы уже неплохо поработали, сделав производную, упрощение, и компиляцию. Так, а что еще должен уметь наш простенький калькулятор? Ну хотя бы уравнения вида

$(x - b)(\tan(\sin(x))^2 - 3\tan(\sin(x)) + c) = 0$

точно должен решать. А еще красиво нарисовать это дело в латехе, и будет прямо хорошо! Погнали!



Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments10

Пишем «калькулятор» на C#. Часть I. Вычисление значения, производная, упрощение, и другие гуси

Reading time9 min
Views66K
Привет!

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

Меньше воды! О чем статья?
Здесь будет поверхностно о построении выражения, парсинге из строки, подстановки переменной, аналитической производной, численным решении уравнения и определенного интеграла, рендеринг в формат LaTeX, комплексных числах, компиляцией функций, упрощении, раскрытии скобок, и бла бла бла. Вероятно, не в одной статье.
Для тех, кому нужно срочно что-нибудь склонировать, ссылка на репозиторий.

Берем оставшиеся с нового года печеньки, и погнали!
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments18

Deep Learning теперь на Java

Reading time12 min
Views18K
Не любите Java? Да вы не умеете ее готовить! Mani Sarkar предлагает нам познакомиться с инструментом Valohai, позволяющим проводить исследования модели на Java.


Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments1
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity