<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FOperacje_na_macierzach</id>
	<title>TI/Operacje na macierzach - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FOperacje_na_macierzach"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Operacje_na_macierzach&amp;action=history"/>
	<updated>2026-05-01T11:55:24Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Operacje_na_macierzach&amp;diff=1625&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;Macierzą nazywamy tablicę dwuwymiarową. &lt;source lang= python&gt; import numpy A = numpy.array([[1, 2, 3],                  [4, 5, 6],                  [7, 8, 9]]) &lt;/sour...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Operacje_na_macierzach&amp;diff=1625&amp;oldid=prev"/>
		<updated>2015-05-22T20:16:56Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;Macierzą nazywamy tablicę dwuwymiarową. &amp;lt;source lang= python&amp;gt; import numpy A = numpy.array([[1, 2, 3],                  [4, 5, 6],                  [7, 8, 9]]) &amp;lt;/sour...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Macierzą nazywamy tablicę dwuwymiarową.&lt;br /&gt;
&amp;lt;source lang= python&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
A = numpy.array([[1, 2, 3],&lt;br /&gt;
                 [4, 5, 6],&lt;br /&gt;
                 [7, 8, 9]])&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Przypomnienienie&lt;br /&gt;
Elementy macierzy indeksuje się podając numer wiersza i kolumny. W Numpy, jak to w Pythonie, zaczynając od 0.&lt;br /&gt;
[[Grafika:macierz.svg|right]]&lt;br /&gt;
&lt;br /&gt;
Wymiary macierzy możemy uzyskać korzystając z funkcji &amp;lt;tt&amp;gt;numpy.shape&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang= python&amp;gt;&lt;br /&gt;
wiersze,kolumny = numpy.shape(A)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Do wytwarzania macierzy o losowych elementach całkowitych (np. do testowania funkcji) przydać się może wyrażnie analogiczne do:&lt;br /&gt;
&amp;lt;tt&amp;gt;A = np.random.randint(10,size = (3,3))&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Zadanie: ślad macierzy====&lt;br /&gt;
Śladem macierzy nazywamy sumę elementów na głównej przekątnej macierzy kwadratowej. Po angielsku ślad to ''trace'' i dlatego ślad oznacza się symbolem Tr.&lt;br /&gt;
:  &amp;lt;math&amp;gt;   \mathrm{Tr}\ A = \sum_i A_{ii}   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Napisz funkcję obliczającą ślad macierzy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: transpozycja macierzy w miejscu====&lt;br /&gt;
Transpozycją macierzy nazywamy macierz odbitą wzdłuż głównej przekątnej. &lt;br /&gt;
Matematycznie wyrażą się to wzorem:&lt;br /&gt;
:   &amp;lt;math&amp;gt;   \left(A^\mathrm{T}\right)_{ij} = A_{ji}   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Napisz funkcję transponującą macierz kwadratową w miejscu, czyli bez tworzenia nowej macierzy, poprzez zamianę elementów parami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: ogólna transpozycja macierzy====&lt;br /&gt;
Napisz funkcję która zwróci transponowaną macierz, niekoniecznie kwadratową.&lt;br /&gt;
&lt;br /&gt;
Użyj funkcji &amp;lt;tt&amp;gt;numpy.empty&amp;lt;/tt&amp;gt; do stworzenia macierzy wynikowej, a następnie wypełnij ja w pętli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: mnożenie macierzy====&lt;br /&gt;
Mnożąc macierz &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; o wymiarze &amp;lt;math&amp;gt;n \times p&amp;lt;/math&amp;gt; z macierzą &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; o wymiarze &amp;lt;math&amp;gt;p \times m&amp;lt;/math&amp;gt;, otrzymujemy macierz &amp;lt;math&amp;gt;C&amp;lt;/math&amp;gt; o wymiarze &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;. Element &amp;lt;math&amp;gt; C_{ij} &amp;lt;/math&amp;gt; przedstawia się wzorem:&lt;br /&gt;
:    &amp;lt;math&amp;gt; C_{ij}=\sum_k A_{ik}B_{kj} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Napisz funkcję mnożącą macierz A z macierzą B.&lt;br /&gt;
Użyj funkcji &amp;lt;tt&amp;gt;numpy.zeros&amp;lt;/tt&amp;gt; do stworzenia macierzy wynikowej, a następnie wypełnij ja w pętli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: wyznacznik macierzy====&lt;br /&gt;
Jeżeli &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; jest macierzą kwadratową o wymiarze &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;,&lt;br /&gt;
rekurencyjna definicja wyznacznika przedstawia się wzorem:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left| M \right| = \sum_{k=1}^{n}(-1)^{i+k}a_{ik}&lt;br /&gt;
                          \left| M_{/i /k}\right|&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
gdzie &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; jest dowolne, a&amp;amp;nbsp;&amp;lt;math&amp;gt;M_{/i /k}&amp;lt;/math&amp;gt;&lt;br /&gt;
oznacza macierz o&amp;amp;nbsp;wymiarze zmiejszonym o&amp;amp;nbsp;1, przez wykasowanie wiersza&amp;amp;nbsp;&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; i&amp;amp;nbsp;kolumny&amp;amp;nbsp;&amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. &amp;lt;u&amp;gt;Uwaga:&amp;lt;/u&amp;gt; w powyższym wzorze zakłada się, że indeksy elementów macierzy ''M'' są numerowane od 1.&lt;br /&gt;
&lt;br /&gt;
Napisz funkcję obliczającą ten wyznacznik (rekurencyjnie).&lt;br /&gt;
&lt;br /&gt;
Do wykorzystania mogą przydać się: [http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html numpy.delete] albo [http://docs.scipy.org/doc/numpy/reference/generated/numpy.r_.html numpy.r_].&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>