Ploopy po DIY trackballech či sluchátkách představuje nový externí DIY trackpoint se čtyřmi tlačítky Bean. Obsahuje snímač Texas Instruments TMAG5273, spínače Omron D2LS-21 a řadič RP2040, používá firmware QMK. Schémata jsou na GitHubu; sadu lze předobjednat za 69 kanadských dolarů (bez dopravy a DPH).
Mozilla před dvěma týdny na svém blogu oznámila, že díky Claude Mythos Preview bylo ve Firefoxu nalezeno a opraveno 271 bezpečnostních chyb. Včera vyšel na Mozilla Hacks článek s podrobnějšími informacemi. Z 271 bezpečnostních chyb mělo 180 chyb vysokou závažnost, 80 chyb střední závažnost a 11 chyb nízkou závažnost. Celkově bylo v dubnu ve Firefoxu opraveno 423 bezpečnostních chyb. Čísla CVE nemusí být přiřazována jednotlivým chybám. CVE-2026-6784 například představuje 154 bezpečnostních chyb.
Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].
Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.
Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.
Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.
Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu
… více »Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).
PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.
V hned druhém pokračování povídání o systému Octave vyjde najevo, proč Matlab získal své jméno jako zkratku z MATrix LABoratory - laboratoř pro práci s maticemi. Než se však vrhneme na násobení matic, povíme si pár slov k historii příkazů a jejich vyhodnocování.
Asi nepřekvapí, ale určitě ani nezarmoutí fakt, že Octave disponuje vestavěnou historií příkazů - pomocí kurzorových šipek nahoru a dolů lze listovat seznamem dříve zadaných příkazů, které lze editovat a opravené nechat spočítat znovu. V linuxových verzích Octave lze také zpětně hledat v historii příkazů přes klávesové zkratky Ctrl-R a Ctrl-S:
>>
(reverse-i-search)`sin': (sin(x))^2
V Octave je možné zapsat a nechat vyhodnotit více výrazů najednou - píšeme je za sebe na řádek, přičemž v úvahu přichází dva oddělovače, čárka a středník:
>> A=1+1, B=3*4; C=8/4
A = 2
C = 2
>> B
B = 12
V obou případech se výraz vyhodnotí, avšak pouze při ukončení čárkou se též vypíše výsledek. Neuvedení oddělovače za posledním příkazem na řádce je ekvivalentní se zakončení výrazu čárkou, tj. výsledek se vypíše. Skutečnost, že se v příkladě provedl i příkaz ukončený středníkem, dokazuje výraz, kdy jsme si nechali vypsat obsah proměnné B. Středníkem ukončujeme zejména příkazy v programech, které vrací „nezajímavé“ mezivýsledky výpočtu. Chceme-li zapsat výraz či více výrazů na více řádků, můžeme s úspěchem použít znak zpětné lomítko „\“ následovaný znakem nový řádek (tj. stisknutí klávesy Enter) - v zápisu příkazu pokračujeme na dalším řádku:
>> 1 + \
> 2 \
> + 3
ans = 6
Speciální význam v Octave má také znak procento „%“. Uvozuje komentář - jinými slovy vše, co bude zapsáno za tímto znakem na stejném řádku, Octave ignoruje. Komentáře slouží zejména k lepší orientaci v programech uživatelem:
>> c=(a^2 + b^2)^(1/2) % Zde využíváme Pythagorovy věty
Pro výpis uživatelem vytvořených proměnných lze kromě příkazu who použít také příkaz whos, který vrací podrobnější informace:
>> whos
prot type rows cols name
==== ==== ==== ==== ====
rwd scalar 1 1 P
rwd scalar 1 1 p
Pro nás jsou teď zajímavé sloupce rows a cols
udávající počet řádků a sloupců proměnné. Jak již bylo naznačeno v úvodu,
Octave podle vzoru Matlabu chápe každou proměnnou jako matici určité
velikosti. Proměnné obsahující jedno číslo jsou tak brány jako matice
velikosti 1×1 - s těmi se však počítá úplně stejně jako s normálními
čísly. Pokud budeme chtít pracovat s maticemi o větším počtu řádků či
sloupců, přijdou na řadu hranaté závorky:
>>M=[0 1 2;1,2,3 > 4 5,6] M = 0 1 2 1 2 3 4 5 6
Při takovémto zadávání matice na příkazové řádce hranaté závorky vymezují prostor pro zápis jejího obsahu, hodnoty na řádku se oddělují mezerou nebo čárkou, řádky pak středníkem nebo novým řádkem (klávesou Enter - do výskytu uzavírající závorky Octave výraz nevyhodnocuje).
Matici lze skládat také z „větších“ objektů, než jsou skaláry, tj. z vektorů a menších matic. Při zadávání je pouze nutno dbát na to, aby ve výsledku měla matice stejný počet sloupců v každém řádku, tj. aby někde něco nechybělo či nepřebývalo:
>> N=[1 2;3]
error: number of columns must match (1 != 2)
Nyní složme velkou matici ze tří menších objektů:
>> A=[1 2; 3 4; 5 6], B=[-1 -3; 9 9], V=[0, 50]
A =
1 2
3 4
5 6
B =
-1 -3
9 9
V =
0 50
>> VelkaMatice = [A, [B; V]]
VelkaMatice =
1 2 -1 -3
3 4 9 9
5 6 0 50
Z podstaty věci je možné (a formálně korektnější) psát i samostatná čísla v maticových závorkách:
>> [6]*[10]
ans = 60
Pro přehlednost a úsporu psaní si je však každý rád odpustí, jak tomu je v ostatních příkladech v tomto textu. Je také možné vytvořit - na první pohled poněkud překvapivě - prázdnou matici, která má nulový počet řádků a sloupců:
>> N=[]
N = [](0x0)
Prázdné matice mají své uplatnění při rušení řádků či sloupců ve větších maticích, viz dále.
Podle očekávání Octave umí s maticemi nativně provádět běžné numerické operace, tj. zejména velikostně si odpovídající matice sčítat, respektive odčítat a násobit:
>> [1 2;-3 -2] + [-1,-3;4,3] ans = 0 -1 1 1 >> [4;-2] * [-1,2] ans = -4 8 2 -4
Nechybí ani možnost umocňovat matici reálným číslem; významná je zejména operace umocňování na minus prvou (M-1), kterou získáme matici inverzní k původní matici:
>> M=[-1 0 2; 4 2 1; -1 -1 -2]; M^-1 ans = 3 2 4 -7 -4 -9 2 1 2 >> M * M^-1 ans = 1 0 0 0 1 0 0 0 1
K základním maticovým operacím patří také transpozice, tj. přeměna řádků na sloupce a naopak. V Octave ji vyznačujeme apostrofem - „'“:
>> M' ans = -1 4 -1 0 2 -1 2 1 -2
Octave také umí matice dělit, a to hned dvěma způsoby: levostranně pomocí operátoru „\“ a pravostranně pomocí „/“. Formálně to u čtvercových regulárních matic odpovídá násobení jedné matice s druhou inverzní, tj. A\B ≈ A-1·B a A/B ≈ A·B-1. Jelikož výpočet probíhá přímo, je možné levostranně dělit matice se stejným počtem řádků a pravostranně matice se stejným počtem sloupců:
>> [-1 -4 0; 2 -3 1] \ [2 3; -1 -1] ans = -0.81159 -1.05797 -0.29710 -0.48551 -0.26812 -0.34058 >> [-1 -4; 2 -3 ] / [2 3; -1 -1; 6 -7] ans = -0.833333 0.333333 0.166667 -0.111390 0.033501 0.376047
Dělení matic se využívá například při řešení soustavy lineárních rovnic. Pro názornost dodejme ještě, že levostranné dělení běžných čísel odpovídá zápisu zlomku, kdy nejdřív uvedeme jmenovatele a teprve poté čitatele:
>> 5 \ 35
ans = 7
Pozor na to, že znak zpětné lomítko se také používá pro zápis výrazu/výrazů na vícero řádků, jak již bylo uvedeno dříve.
Podle očekávání se také Octave chová při operacích s maticemi a skaláry - operace se provede se skalárem a s každým prvkem matice, výsledkem je matice stejných rozměrů. Například násobení matice skalárem a součet matice a skaláru:
>> 2 * [1,2;-2,4] ans = 2 4 -4 8 >> [1,2;-2,4] + 4 ans = 5 6 2 8
Někdy je zapotřebí u násobení matic provést tuto operaci tzv. po prvcích, tj. stejným způsobem, jak se provádí součet matic. Násobit po prvcích je možno pouze matice se stejným počtem řádků a sloupců a výsledek je opět stejně rozměrná matice s odpovídajícími výsledky na daných pozicích. Násobení po prvcích dáme najevo předřazením symbolu tečka před vlastní symbol násobení - hvězdičku:
>> [1 -1; 2 3] .* [7 5; 1 -1] ans = 7 -5 2 -3
Porovnejte s výsledkem standardního násobení matic:
>> [1 -1; 2 3] * [7 5; 1 -1] ans = 6 6 17 7
Analogickým způsobem lze pomocí tečky před vlastním operátorem zařídit též dělení a umocňování po prvcích. Tečku lze zapsat i před sčítání a odečítání, z praktického hlediska to ale nemá význam - tyto operace se provádí pouze v režimu „po prvcích“:
>> [4 9; 12 -27] ./ [2 3; 6 9]
ans =
2 3
2 -3
>> [1 -1; 2 3].^3
ans =
1 -1
8 27
Pro srovnání:
>> [1 -1; 2 3]^3 ans = -9 -11 22 13
Nakonec uveďme pár základních funkcí, které se nám při práci s maticemi mohou hodit:
-1, tak ve směru hodinových ručiček, hodnota 1
znamená proti směru hodinových ručiček:>> rot90([1 2; 3 4],-1) ans = 3 1 4 2 >> rot90([1 2; 3 4],1) ans = 2 4 1 3
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Diskuse byla administrátory uzamčena