Finding the eigenvalues and eigenvectors of a symmetric
matrix 16#16 is done in the following stages:

16#16 is decomposed as 286#286, where 132#132 is unitary,
250#250 is real symmetric tridiagonal, and 136#136 is the
conjugate transpose of 132#132.
132#132 is represented as a product of Householder
transformations, whose vectors are stored in the first
n-1 columns of 245#245, and whose scale factors are in 287#287.

250#250 is decomposed as 88#88D1288#288, where 88#88 is real
orthogonal and 289#289 is a real diagonal matrix of eigenvalues.
290#290 is the matrix of eigenvalues computed when 88#88 is not computed.

The ``PWK'' method is used to compute 291#291, the matrix of eigenvalues,
using a square-root-free method which does not compute 88#88.

250#250 is decomposed as 292#292 293#293 294#294, for a symmetric positive
definite tridiagonal matrix.
295#295 is the matrix of eigenvalues computed when 88#88 is not computed.

Selected eigenvalues (296#296, 297#297, and 298#298) are computed and denote
eigenvalues computed to high absolute accuracy, with different range options.
299#299 will denote eigenvalues computed to high relative
accuracy.

Given the eigenvalues, the eigenvectors of 250#250 are computed in 141#141.

250#250 is factored as 88#88 289#289 288#288.

To check these calculations, the following test ratios are computed
(where banded matrices only compute test ratios 1-4):

300#300

301#301

302#302

303#303

304#304

301#301

305#305

306#306

307#307

301#301

302#302

308#308

309#309

301#301

305#305

310#310

Tests 5-8 are the same as tests 1-4 but for SSPTRD and SOPGTR.

311#311

301#301

312#312

313#313

314#314

301#301

315#315

313#313

316#316

301#301

317#317

313#313

318#318

301#301

319#319

320#320

321#321

301#301

322#322

For 250#250 positive definite,

323#323

301#301

324#324

325#325

326#326

301#301

327#327

325#325

328#328

301#301

329#329

330#330

When 250#250 is also diagonally dominant by a factor 331#331,

332#332

301#301

333#333

334#334

335#335

(1)

336#336

301#301

337#337

335#335

338#338

301#301

339#339

340#340

341#341

301#301

342#342

343#343

344#344

301#301

345#345

343#343

346#346

301#301

347#347

348#348

349#349

301#301

350#350

348#348

351#351

301#301

347#347

352#352

353#353

301#301

350#350

352#352

354#354

301#301

355#355

356#356

357#357

301#301

358#358

334#334

359#359

360#360

301#301

358#358

334#334

361#361

362#362

301#301

347#347

363#363

364#364

301#301

350#350

363#363

365#365

301#301

339#339

366#366

367#367

301#301

347#347

368#368

369#369

301#301

350#350

368#368

370#370

301#301

339#339

371#371

372#372

301#301

347#347

373#373

374#374

301#301

350#350

373#373

375#375

301#301

339#339

376#376

where the subscript 133#133 indicates that the eigenvalues and eigenvectors
were computed at the same time,
and 53#53 that they were computed in separate steps.
(All norms are
143#143.)
The scalings in the test ratios assure that the ratios will be 124#124
(typically less than 10 or 100),
independent of
144#144 and 9#9,
and nearly independent of 4#4.

As in the nonsymmetric case, the test ratios for each test
matrix are compared to a user-specified threshold 145#145,
and a message is printed for each test that exceeds this threshold.

NOTE: Test 27 is disabled at the moment because SSTEGR does not
guarantee high relative accuracy. Tests 29 through 34 are disabled
at present because SSTEGR does not handle partial spectrum requests.