File: ritz.pl

package info (click to toggle)
dmrgpp 6.06-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 113,900 kB
  • sloc: cpp: 80,986; perl: 14,772; ansic: 2,923; makefile: 83; sh: 17
file content (45 lines) | stat: -rwxr-xr-x 751 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl

use strict;
use warnings;
use utf8;

my ($file, $n) = @ARGV;
defined($file) or die "USAGE: $0 filename [set number]\n";
defined($n) or $n = -1;

my @data = loadData($file, $n);

printData(\@data);

sub printData
{
	my ($a) = @_;
	my $n = scalar(@$a);
	for (my $i = 0; $i < $n; ++$i) {
		print "$i ".$a->[$i]."\n";
	}
}

sub loadData
{
	my ($file, $n) = @_;
	open(FILE, "<", "$file") or die "$0: Cannot open $file : $!\n";
	my @temp;

	my $counter = 0;
	while (<FILE>) {
		next unless (/RitzEigenvalues: index\=\d+\|/);
		s/RitzEigenvalues: index=\d+\|//;
		chomp;
		@temp = split;
		last if ($counter++ == $n);
	}

	close(FILE);
	my $m = scalar(@temp);
	die "$0: No /RitzEigenvalues found in $file\n" if ($m == 0);
	return @temp;
}