Add also the examples in core help pages in the russian help page (port of modificati...
[scilab.git] / scilab / modules / core / help / ru_RU / keywords / backslash.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="backslash">
3     <refnamediv>
4         <refname>обратный слэш (\)</refname>
5         <refpurpose>(\) левое матричное деление.</refpurpose>
6     </refnamediv>
7     <refsynopsisdiv>
8         <title>Последовательность вызова</title>
9         <synopsis>x=A\b</synopsis>
10     </refsynopsisdiv>
11     <refsection>
12         <title>Описание</title>
13         <para>
14             Обратный слэш означает левое матричное деление.
15             <literal>x=A\b</literal> является решением для <literal>A*x=b</literal>.
16         </para>
17         <para>
18             Если <literal>A</literal> -- квадратная и невырожденная, то  <literal>x=A\b</literal> 
19             (уникально определённая) эквивалентно <literal>x=inv(A)*b</literal> (но вычисления гораздо дешевле).
20         </para>
21         <para>
22             Если <literal>A</literal> не квадратная, то <literal>x</literal> является решением наименьших квадратов,
23             т.е. <literal>norm(A*x-b)</literal> является минимальной (эвклидовой нормой). Если ранг матрицы <literal>A</literal>
24             полный, то решение наименьших квадратов, <literal>x=A\b</literal>, является уникально 
25             определённым (есть уникальное <literal>x</literal>, которое минимизирует <literal>norm(A*x-b)</literal>).
26             Если ранг матрицы <literal>A</literal> неполный, то решение наименьших квадратов не является уникальным, 
27             и <literal>x=A\b</literal>, в общем, не является решением с минимальной нормой (решение минимальной 
28             нормы равно  <literal>x=pinv(A)*b</literal>).
29         </para>
30         <para>
31             <literal>A.\B</literal> является матрицей с <literal>(i,j)</literal>-тым элементом, равным <literal>A(i,j)\B(i,j)</literal>.
32             Если <literal>A</literal> (или <literal>B</literal>) является скаляром, то <literal>A.\B</literal> эквивалентно
33             <literal>A*ones(B).\B</literal> (или <literal>A.\(B*ones(A))</literal>.
34         </para>
35         <para>
36             <literal>A\.B</literal> является оператором без предопределённого значения. Он может использоваться 
37             для определения нового оператора (см. <link linkend="overloading">overloading</link>) с тем же самым приоритетом что и <literal>*</literal> или <literal>/</literal>.
38         </para>
39     </refsection>
40     <refsection>
41         <title>Примеры</title>
42         <programlisting role="example"><![CDATA[ 
43 A=rand(3,2);b=[1;1;1]; x=A\b; y=pinv(A)*b;  x-y
44 A=rand(2,3);b=[1;1]; x=A\b; y=pinv(A)*b; x-y, A*x-b, A*y-b
45
46 // если ранг неполный
47 A=rand(3,1)*rand(1,2); b=[1;1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b
48 A=rand(2,1)*rand(1,3); b=[1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b 
49  
50 // Проверка эффективности нескольких программ решения систем линейных уравнений
51  
52 [A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/examples/bcsstk24.rsa"); 
53  
54 b = zeros(size(A,1),1);
55  
56 tic();
57 res = umfpack(A,'\',b);
58 mprintf('\nвремя, необходимое для решения системы с помощью umfpack: %.3f\n',toc());
59  
60 tic();
61 res = linsolve(A,b);
62 mprintf('\nвремя, необходимое для решения системы с помощью linsolve: %.3f\n',toc());
63  
64 tic();
65 res = A\b;
66 mprintf('\nвремя, необходимое для решения системы с помощью оператора ""обратный слэш"": %.3f\n',toc());
67  ]]></programlisting>
68     </refsection>
69     <refsection role="see also">
70         <title>Смотрите также</title>
71         <simplelist type="inline">
72             <member>
73                 <link linkend="slash">слэш</link>
74             </member>
75             <member>
76                 <link linkend="inv">inv</link>
77             </member>
78             <member>
79                 <link linkend="pinv">pinv</link>
80             </member>
81             <member>
82                 <link linkend="percent">процент</link>
83             </member>
84             <member>
85                 <link linkend="ieee">ieee</link>
86             </member>
87             <member>
88                 <link linkend="linsolve">linsolve</link>
89             </member>
90             <member>
91                 <link linkend="umfpack">umfpack</link>
92             </member>
93         </simplelist>
94     </refsection>
95 </refentry>