рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╖рдп рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрдХреНрд╕рд░ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ
рдЧреЙрд╕ рдХреНрдпреЛрдВ? рдЧреЙрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд╕рд╛рде) рдФрд░ рдХреБрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрдд рддрд░реАрдХреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐,
Sinn3r рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреЛ
рджреЗрдЦрддреЗ рд╣реБрдП , рдореИрдВрдиреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рд╢реБрд░реВ рдХрд░реЛ
рддреЛ, рд╣рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЖрджреЗрд╢ рдХреЗ рд░реИрдЦрд┐рдХ рдмреАрдЬреАрдп рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
ред рд╕рдмрд╕реЗ рд╣рдбрд╝рддрд╛рд▓реА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ
-рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЕрдкрдШрдЯрдиред
рдпрд╣ рд╕рд╣рдЬ рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реИрдЦрд┐рдХ рдмреАрдЬреАрдп рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ (рд╡реЗрдХреНрдЯрд░ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд┐рдд):
рдЬрд╣рд╛рдБ
- рдПрдХ рднрдпрд╛рдирдХ рдФрд░ рднреНрд░рд╛рдордХ
рдЧреИрд░-рдкрддрд┐рдд рдореИрдЯреНрд░рд┐рдХреНрд╕ред рд╣рдо рдЗрд╕реЗ рджреЛ рдЕрдиреНрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ:
рдПрдХ рдХрдо рддреНрд░рд┐рдХреЛрдгреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ, рдФрд░
рдКрдкрд░реА рддреНрд░рд┐рдХреЛрдгреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред рдлрд┐рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдлреЙрд░реНрдо рд▓реЗрддрд╛ рд╣реИ:
рдпрджрд┐ рдирд╛рдорд┐рдд рд╣реЛ
, рддрдм рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╕рдорд╛рдзрд╛рди рджреЛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рджреЛ рд╕рд╣рд╛рдпрдХ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВ (рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдЯреНрд░рд┐рд╕реЗрд╕
рдФрд░
- рддреНрд░рд┐рдХреЛрдгреАрдп)ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрди рдореИрдЯреНрд░рд┐рд╕ рдХреЛ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИ? рдЗрд╕рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рднрд╡рди рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП -ecompositionsред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рд╡рд┐рд╡рд░рдг
-decomposition
рдпрд╣рд╛рдБ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рджреЗрдЦреЗрдВрдЧреЗред
рд╡рд░реНрдЧрдореВрд▓ рд╡рд┐рдзрд┐
рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рд░реНрддреЗрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ
ред рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордорд┐рдд рд╣реЛ, рдЕрд░реНрдерд╛рдд
рдпрд╛
ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЬрд╣рд╛рдБ
- рдКрдкрд░реА рддреНрд░рд┐рдХреЛрдгреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕,
рдПрдХ рд╡рд┐рдХрд░реНрдг
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдХрд░реНрдг рддрддреНрд╡ рдкреВрд░реНрдг рдореВрд▓реНрдп рдореЗрдВ рдПрдХрддрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рджреЛ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЧрдИ рд╣реИ:
рдЬреЛ рдХрд┐ рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рднреА рд╣рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
рдФрд░
ред
рдПрд▓реНрдЧреЛрд░рд┐рдердо рдлрд╝рд╛рд░реНрдореБрд▓реЛрдВ рдХреА рд╡реНрдпреБрддреНрдкрддреНрддрд┐ рдмреЛрдЭрд┐рд▓ рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдирдореВрдирд╛ рдЬрд╛рд╡рд╛ рдХреЛрдб рдЬреЛ рд╕реНрд╡реАрдк рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:
import java.io.FileNotFoundException; import java.io.FileReader; import java.io.PrintWriter; import java.util.Locale; import java.util.Scanner; public class SquareRootMethod { public static void main(String[] args) throws FileNotFoundException { Scanner scanner = new Scanner(new FileReader("input.txt")); scanner.useLocale(Locale.US); int n = scanner.nextInt(); double[][] a = new double[n + 1][n + 1]; double[] b = new double[n + 1]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { a[i][j] = scanner.nextDouble(); } b[i] = scanner.nextDouble(); } double[] x = new double[n + 1]; double[] d = new double[n + 1]; double[][] s = new double[n + 1][n + 1];
рд╕реНрд╡реАрдк рд╡рд┐рдзрд┐
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рддреАрди рд╕реЗ рдЕрдзрд┐рдХ рдЕрдЬреНрдЮрд╛рдд рд╡рд╛рд▓реЗ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рд╕реНрдЯрдо рд╣рд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде
рдореИрдЯреНрд░рд┐рдХреНрд╕
рддреНрд░рд┐рджрд▓реАрдп рд╣реИ:
A = \ start {pmatrix} C_1 & -B_1 & 0 & \ dots & 0 & 0 \\ -A_2 & C_2 & -B_2 рдФрд░ \ dots & 0 & 0 \\ \ vdots & \ vdots & \ vdots & \ ddots & \ vdots & \ vdots \\ 0 & 0 & \ dots & -A_ {n-1} & C_ {n-1} & -B_ {n-1} \\ 0 & 0 & \ dots & 0--A_n & C_n \\ \ end {pmatrix}ред
рдмрд╕ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрдбрд╝реЛрд╕реА рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╣реИ:
- рдХреБрдЫ рдЕрдЬреНрдЮрд╛рдд рдирдВрдмрд░ред рдпрджрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдФрд░ рдПрдХ рдПрдХрд▓ рдЪрд░ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдиреНрдп рд╕рднреА рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реВрддреНрд░реЛрдВ рдХреА рд╡реНрдпреБрддреНрдкрддреНрддрд┐
\ Alpha_1 = \ dfrac {B_1} {C_1}, \ \ Alpha_i = \ dfrac {B_i} {C_i - A_i \ Alpha_ {i-1}}, \ i = \ over \ {2}, n},
\ beta_1 = \ dfrac {b_1} {C_1}, \ \ Beta_i = \ dfrac {b_i + A_i \ beta_ {i-1}} {C_i - A_i \ alpha_ / i-1}}, \ i = \ _ рдЭреБрдХрдирд╛ {ред 2, рдПрди}
рдпрд╣рд╛рдБ рдореМрдЬреВрдж
рд╣реИ ред рдЦреИрд░, рдЕрдВрдд рдореЗрдВ
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЦреЛрдЬ рд╕реВрддреНрд░реЛрдВ рдореЗрдВ
рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд╛рдЬрди рд╣реЛрддрд╛ рд╣реИ
рдЬреЛ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдХрдерди рд░рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдорд╛рдг
рдпрд╣рд╛рдВ рд╣реИ : рд╕реНрд╡реАрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд╣реА рдФрд░ рд╕реНрдерд┐рд░ рд╣реИ рдпрджрд┐ рд╢рд░реНрддреЗрдВ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ:
рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
\ рдмрд╛рдИрдВ \ {\ _ рд╢реБрд░реВ рдХрд░рдирд╛ {рд╕рдВрд░реЗрдЦрд┐рдд} & x_1 = 0, \\ & x_ {i-1} + \ xi x_ {i + 1} = \ dfrac {i} {n}, \ (i = \ overline # 2), n-1}), \\ & x_n = 1, \\ \ end {align} \ right
рдкрд░
ред
package SystemOfLinearAlgebraicEquations; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.PrintWriter; import java.util.Locale; import java.util.Scanner; public class TridiagonalMatrixAlgorithm { public static void main(String[] args) throws FileNotFoundException { final int n = 21; double[] A = new double[n + 1]; double[] B = new double[n + 1]; double[] C = new double[n + 1]; double[] F = new double[n + 1]; double xi = 2; C[1] = 1; F[1] = 0; for(int i = 2; i <= n-1; i++) { A[i] = 1; C[i] = xi; B[i] = 1; F[i] = - (double) i / n; } A[n] = 0; C[n] = 1; F[n] = 1; double[] alpha = new double[n + 1]; double[] beta = new double[n + 1];