9.9 C
София
сряда, 11 мар. 2026

Българин е създател на математическия софтуер Calcpad, позициониращ се между Еxсel и Mathcad

Най-четени

Още от същото

Инж. Неделчо Ганчовски е строителен конструктор с над 25 г. стаж в проектирането на строителни конструкции на АЕЦ, ТЕЦ, промишлени, жилищни и обществени сгради. Понастоящем е управител на фирма „Проектсофт“, където разработва софтуерните продукти PSCAD и Design Expert, които се ползват от над 1000 потребители в България и чужбина. Разговорът ни с него е посветен на Calcpad – създаденият от него математически софтуер с отворен код, който не наподобява никоя от известните досега системи, позиционира се между Еxсel и Mathcad и е преведен от ентусиасти дори на китайски.

Инж. Ганчовски, през 2014 г. създавате Calcpad – математически софтуер с отворен код, който е първият по рода си в България. Какви са основните му функции?

– На първо място са неговите изчислителни възможности – той може да извършва пресмятания с мерни единици, което го прави подходящ за прилагане в областта на физиката и техниката. С това е полезен най-вече за инженери от различни области. Важно е да се отбележи, че повечето големи математически платформи като MATLAB нямат мерни единици.

Calcpad работи с числени методи и така решава задачи, за които няма готово уравнение, във вид на аналитичен израз. Може да изчислява производни, интеграли, нелинейни уравнения, да намира минимуми и максимуми на функции. Друга важна функционалност са матричните и векторни изчисления, които се използват широко в инженерната практика.

На сайта, на който представяте софтуера, пише че изчислява греди. Какво се има в предвид?

– Да, както и най-различни други конструктивни елементи – колони, шайби, плочи. Първоначално, програмата беше замислена именно с тази цел – да изчислява строителни конструкции, но впоследствие се разви и в други направления.

Много инженери от други специалности също ползват този софтуер – не само строителни, но и машинни, химически, технологични, електроинженери и изобщо – всякакви специалисти, които извършват изчисления, тъй като той е с общо предназначение. Потребителят е този, който дефинира какво и как ще се смята, а програмата предлага необходимия математически апарат, с които това да бъде направено.

В YouTube сте избрали да покажете действието на софтуера чрез симулация на поведението на двойното махало. Защо сте избрали тъкмо тази симулация?

– Това е една много интересна задача – механична система, която е хаотична по своята същност. Когато имаме единично махало, неговото движение е циклично и предвидимо дори и на интуитивно ниво. Но ако добавим още едно махало към него като верига, тогава поведението на системата става хаотично.

Освен чрез сложни изчисления, ние не можем да предвидим нейното изменение във времето. Характерно при хаотичните системи е, че малка промяна на началните условия, може да доведе до коренна промяна в тяхното поведение. Това го прави да изглежда със случаен характер, но всъщност е напълно детерминистично.

Тези процеси се описват с диференциални уравнения и се решават с числени методи. Примерът с двойното махало е доста добър тест дали системата се справя добре и бързо с по-сложни задачи. Освен това, самата задача е интересна и привлича внимание. Тя е аналогична на всеизвестния „ефект на пеперудата“ на Едуард Лоренц – авторът на теорията на хаоса, създадена за моделиране на сложни динамични системи като климата и икономиката.

Освен с пресмятането на задачи тип двойно махало, Вашият софтуер има ли други особености, които да го правят по-специален от други подобни програми?

– Calcpad е нова и оригинална разработка. Тя не наподобява никоя от известните до сега системи, а заема уникална ниша, която по случайност се оказа свободна. Тя се позиционира по средата между по-прости инструменти, като Еxсel и Mathcad и сложни изчислителни системи и езици на програмиране на високо ниво като MATLAB и Python.

Една от най-важните функции на нашия софтуер е, че може автоматично да документира всяко едно изчисление, което извършва. Включително целия изчислителен алгоритъм, както е описан с код на програмния език на системата. Той позволява да създаваме променливи, функции, цикли и условни разклонения.

Последните оказват влияние не само на последователността на изчисленията, но и на съдържанието на записката, което се разклонява динамично заедно с тях. Някои от най-популярните математически системи като Mathcad нямат такива възможности.

Друга характерна особеност е, че автоматично замества стойностите на променливите във формулите от записката. Това позволява на инженера лесно да проследи и провери направените изчисления и ако евентуално има грешки, те да бъдат открити и отстранени навреме. Това силно отличава Calcpad от програмите тип „черна кутия“. При тях виждаме само входните данни и резултатите, но не и пътя, по който са получени.

Вие сте разработили софтуера през 2014 г., веднага ли го пуснахте в употреба?

– Софтуерът се развиваше постепенно – първо започна със сравнително малък брой функции, без мерни единици, матрици и вектори. Постепенно, с времето съм го допълвал с нови функции. Много от тях дойдоха като идеи от самите потребители, което е много ценно. Не е нужно да чакаме един софтуер да стане „съвършен“. Може да го пуснем предварително, за да може да хората да започнат да го ползват и да получим обратна връзка. Всъщност и поради тази причина го направих с отворен код.

Споделяте, че в началото сте го пуснали, за да получите някаква обратна връзка. Какви нови функции добавихте в резултат на нея?

– Много промени бяха направени по самия интерфейс с цел удобство на работа. По отношение на самите възможности за програмиране, бяха въведени макроси, текстови променливи и модули. Те позволяват кодът на изчисленията да се организира в множество файлове.

calcpad netherland
Студенти в Нидерландия използват Calcpad по време на обучението си.

Пишете, че програмата Ви е изтеглена от над 20 университета? Имате ли информация за какво я използват?

– От една страна, тя е много удобна за ученици и студенти, за да си подготвят курсовите задачи и дипломните работи. Системата автоматизира простите и повторяеми пресмятания, което им позволява да се фокусират върху самата теория – какви формули и какъв изчислителен алгоритъм да използват за да решат поставената задача.

С програмата преподавателите могат да подготвят различни интерактивни примери, с които студентите и учениците да експериментират. Примерите, дадени в учебниците и ръководствата са статични. Те са решени за един конкретен случай и с фиксирани входни данни. Calcpad обаче позволява да се публикуват като динамични уеб приложения, където обучаемия може да променя различни параметри – свойства на материала, геоматрични размери и натоварвания и да наблюдава как всяко едно от тях влияе върху крайния резултат.

Бихте ли споделили в кои университети преподавателите ползват програмата ви?

– Има университети от цял свят – Испания, Германия, Полша, Чехия, Словения, Хърватия, САЩ, Аржентина, Перу и Бразилия, където имаме доста голяма потребителска общност. Също така и в редица азиатски страни като Китай, Сингапур, Малайзия и др.

Предвиждате ли да преведете програмата на китайски?

– Тя вече е преведена на китайски от самите потребители в GitHub. Първоначално беше само на български и английски и тъй ако тя е с отворен код, колеги инженери я преведоха самостоятелно на китайски.

Знаете ли НАСА за какво точно използва Вашия Софтуер?

– В НАСА работят много инженери, физици, математици и други специалисти, които извършват изчисления и разработват собствени библиотеки, които обикновено са на Fortran, който, макар и да се счита за остарял, се използва широко в научните среди, тъй като има висока производителност и с него лесно извършват паралелни изчисления.

Случайно открихме, че те са превели един от нашите алгоритми за решаване на нелинейни уравнения на Fortran и са го вградили в тяхната библиотека. За целта са използвали една наша научна статия, която разбира се, са цитирали коректно като източник. Същия алгоритъм е вграден и в популярния програмен език за научни изчисления Julia или по-точно в библиотеката SciML/NonlinearSolve.jl. Интерес проявяват и от Python/SciPy и библиотеката ROOT на CERN, с които работим по това в момента.

Студенти в Бразилия използват Calcpad в обучението си.

Вие патентовали ли сте програмата?

– Не, продуктът е за свободно ползване, дори и за комерсиални цели. Ние ползваме най-свободния вариант – MIT лиценз, така че всеки може да вземе кода или част от него и да го внедри, където желае. Свободният софтуер е не просто вид продукт, а начин на мислене и изграждане на един нов вид култура. На него се крепи почти цялата съвременна ИТ инфраструктура.

Това е формула, по която печели цялата общност и същевременно помага и в развитието на софтуера. Така печелят всички – включително и ние – и то не толкова във финансово измерение, а по-скоро като капитал от способни хора и качествени продукти. Не всичко се състои в парите.

Изкуственият интелект би ли създал заплаха за програмата Ви?

– Аз лично не го възприемам като заплаха. Даже се получи нещо много интересно – когато започна работата по софтуера, тогава нямаше ИИ или поне не и в настоящия си вид. В последствие обаче се оказа, че начинът, по който е разработена системата, е изключително подходящ за ползване съвместно с ИИ.

Причината, че тя работи на базата на код, последователност от инструкции, а самият програмен език е изключително прост и интуитивен. Може лесно да направим ИИ агент, който да обучим за работа с езика. След това, само чрез кратки заявки (prompt), можем да го накараме да генерира сравнително сложни изчислителни процедури, които да пресметнем в една детерминистична математическа среда под човешки контрол.

Без нея ИИ не се справя много добре самостоятелно, тъй като работи с вероятностни и евристични алгоритми. Това го кара често да халюцинира и да прави грешки в изчисленията.

calcpad course brazil 17642474881531

Това е много опасно особено когато става въпрос за употребата му в строителството.

– Да, така е и тук идва ролята на нашия софтуер, който се явява като едно междинно ниво – преди получаването резултат, потребителят има възможност за междинен контрол и проверка. Както разбира се и след това, използвайки богатите му възможности за документиране на изчисленията.

Има ли правило по колко пъти един инженер трябва да си провери изчисленията?

– Почти всички индустрии, които са свързани с инженерство, са много отговорни – сгради, превозни средства, машини… Ако има технически проблем, последиците могат да бъдат доста сериозни и заради това, всяко изчисление на инженера минава през редица етапи на проверка.

Много често, това се извършва от специално назначен контролен инженер, на когото работата му е само да проверява. Затова е важно изчисленията да бъдат документирани достатъчно подробно. Това става и неизменна част от проектосметната документация към съответния продукт.

calcpad course brazil 17642474879531

В хода на разговора на няколко пъти подчертахте – прости сметки, прости системи, прости програми. Защо държите на по-простите неща?

– Защото, колкото по-прости са нещата, толкова по-малка е вероятността за грешки. Дори когато ползваме сложни компютърни модели, софтуери и симулации, практиката е те да се проверяват с по-прости алтернативни изчисления. Не трябва да се предоверяваме на компютърните модели, защото те могат понякога да ни подведат.

Има един учебен YouTube канал за работа с подобна система за компютърни симулации. Тя се нарича CalculiX и също е с отворен код. Интересното е, че там авторът прави винаги две изчисления – с компютърен модел и прости аналитични методи, за което ползва именно нашия софтуер – отваря програмата, въвежда необходимите формули и сравнява резултатите.

Това още веднъж показва, че всеки един сложен анализ трябва да се проверява чрез добре изпитани аналитични методи, които познаваме и разбираме. Те най-често се наричат „класически“ и някои от тях съществуват от векове. Все пак, Айфеловата кула е построена без компютри.

Източник: Banker.bg

spot_img

Последни публикации