Ini adalah perintah ginsh yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
ginsh - Cangkang Interaktif GiNaC
SINOPSIS
ginsh [mengajukan...]
DESKRIPSI
ginsh adalah antarmuka interaktif untuk kerangka kerja komputasi simbolis GiNaC. Dia
dimaksudkan sebagai alat untuk menguji dan bereksperimen dengan fitur GiNaC, bukan sebagai
pengganti sistem aljabar komputer interaktif tradisional. Meskipun bisa melakukan banyak hal
hal-hal yang dapat dilakukan sistem tradisional ini, ginsh tidak menyediakan konstruksi pemrograman seperti
loop atau ekspresi kondisional. Jika Anda membutuhkan fungsi ini, Anda disarankan untuk menulis
program Anda dalam C++, menggunakan kerangka kelas GiNaC "asli".
PENGGUNAAN
INPUT FORMAT
Setelah startup, ginsh menampilkan prompt ("> ") yang menandakan bahwa ginsh siap menerima
memasukkan. Input yang dapat diterima adalah ekspresi numerik atau simbolik yang terdiri dari angka (mis
42, 2/3 or 0.17), simbol (mis x or mengakibatkan), operator matematika seperti + dan *, dan
fungsi (misalnya dosa or normal). Setiap ekspresi input harus diakhiri dengan a
titik koma (;) atau titik dua (:). Jika diakhiri dengan titik koma, ginsh akan mengevaluasi
ekspresi dan cetak hasilnya ke stdout. Jika diakhiri dengan titik dua, ginsh hanya akan
mengevaluasi ekspresi tetapi tidak mencetak hasilnya. Dimungkinkan untuk memasukkan beberapa
ekspresi dalam satu baris. Spasi putih (spasi, tab, baris baru) dapat diterapkan secara bebas di antara
token. Untuk keluar dari ginsh, masukkan berhenti or keluar, atau ketik EOF (Ctrl-D) saat diminta.
KOMENTAR
Apa pun yang mengikuti garis miring ganda (//) hingga akhir baris, dan semua baris dimulai
dengan tanda pagar (#) diperlakukan sebagai komentar dan diabaikan.
ANGKA
ginsh menerima angka dalam notasi desimal biasa. Ini termasuk presisi sewenang-wenang
bilangan bulat dan rasional serta bilangan floating point dalam standar atau ilmiah
notasi (misalnya 1.2E6). Aturan umumnya adalah bahwa jika suatu bilangan mengandung titik desimal
(.), ini adalah angka floating point (tidak tepat); jika tidak, itu adalah bilangan bulat (tepat) atau
rasional. Integer dapat ditentukan dalam biner, oktal, heksadesimal atau arbitrer (2-36)
dasar dengan mengawalinya dengan #b, #o, #x, atau #nR , Masing-masing.
SIMBOL
Simbol terdiri dari string karakter alfanumerik dan garis bawah (_), dengan
karakter pertama adalah non-numerik. Misalnya a dan mu_1 adalah nama simbol yang dapat diterima, sedangkan
2pi tidak. Dimungkinkan untuk menggunakan simbol dengan nama yang sama dengan fungsi (mis dosa);
ginsh mampu membedakan keduanya.
Simbol dapat diberi nilai dengan memasukkan
simbol = ekspresi;
Untuk membatalkan penetapan nilai simbol yang ditetapkan, ketik
batalkan penetapan('simbol');
Simbol yang ditetapkan dievaluasi secara otomatis (= diganti dengan nilai yang ditetapkan) ketika
mereka digunakan. Untuk merujuk ke simbol yang tidak dievaluasi, beri tanda kutip tunggal (') di sekitar nama,
seperti yang ditunjukkan untuk perintah "unassign" di atas.
Simbol dianggap dalam domain kompleks secara default, yaitu mereka diperlakukan seolah-olah
mereka berdiri untuk bilangan kompleks. Perilaku ini dapat diubah dengan menggunakan kata kunci
nyata_simbol dan kompleks_simbol dan mempengaruhi semua simbol yang baru dibuat.
Simbol berikut adalah konstanta yang telah ditentukan sebelumnya yang tidak dapat diberi nilai oleh:
pengguna:
Pi Konstanta Archimedes
catalan Konstanta Katalan
Euler Konstanta Euler-Mascheroni
I kuadrat(-1)
GAGAL objek dari kelas "gagal" GiNaC
Ada juga yang spesial
Digit
simbol yang mengontrol ketepatan numerik perhitungan dengan angka yang tidak tepat.
Menetapkan nilai integer ke digit akan mengubah presisi ke jumlah yang diberikan
tempat desimal.
KARTU LIAR
Fungsi has(), find(), match() dan subs() menerima wildcard sebagai pengganti untuk
ekspresi. Ini memiliki sintaks
$jumlah
misalnya $0, $1 dll.
TERAKHIR DICETAK EKSPRESI
ginsh menyediakan tiga simbol khusus
%, %% dan %%%
yang mengacu pada ekspresi terakhir, kedua terakhir, dan ketiga terakhir dicetak, masing-masing.
Ini berguna jika Anda ingin menggunakan hasil perhitungan sebelumnya di yang baru
ekspresi.
OPERATOR
ginsh menyediakan operator berikut, terdaftar dalam urutan prioritas:
! faktorial postfix
^ menyalakan
+ plus unary
- minus unary
* perkalian
/ divisi
+ tambahan
- pengurangan
< kurang dari
> lebih besar dari
<= kurang atau sama
>= lebih besar atau sama
== sama
!= tidak sama
= penugasan simbol
Semua operator biner adalah asosiatif kiri, dengan pengecualian ^ dan = yang benar-
asosiatif. Hasil dari operator penugasan (=) adalah sisi kanannya, jadi itu
memungkinkan untuk menetapkan beberapa simbol dalam satu ekspresi (mis a = b = c = 2;).
DAFTAR
Daftar digunakan oleh subs dan memecahkan fungsi. Daftar terdiri dari kurung kurawal pembuka
({), urutan ekspresi yang dipisahkan koma (mungkin kosong), dan kurung kurawal penutup
(}).
MATRIK
Suatu matriks terdiri dari kurung siku buka ([), urutan tak-kosong yang dipisahkan koma
baris matriks, dan kurung siku penutup (]). Setiap baris matriks terdiri dari sebuah bukaan
kurung siku ([), urutan ekspresi yang dipisahkan koma yang tidak kosong, dan penutup
kurung siku (]). Jika baris-baris suatu matriks tidak sama panjang, maka lebar matriks
matriks menjadi baris terpanjang dan baris terpendek diisi di akhir dengan
elemen bernilai nol.
FUNGSI
Panggilan fungsi di ginsh memiliki bentuk
nama(argumen)
dimana argumen adalah urutan ekspresi yang dipisahkan koma. ginsh menyediakan beberapa
fungsi bawaan dan juga "mengimpor" semua fungsi simbolis yang ditentukan oleh GiNaC dan
perpustakaan tambahan. Tidak ada cara untuk mendefinisikan fungsi Anda sendiri selain menautkan
ginsh terhadap perpustakaan yang mendefinisikan fungsi GiNaC simbolis.
ginsh menyediakan Tab-completion pada nama fungsi: jika Anda mengetik bagian pertama dari suatu fungsi
nama, menekan Tab akan melengkapi nama jika memungkinkan. Jika bagian yang Anda ketik tidak unik,
menekan Tab lagi akan menampilkan daftar fungsi yang cocok. Menekan Tab dua kali di
prompt akan menampilkan daftar semua fungsi yang tersedia.
Daftar fungsi bawaan berikut. Mereka hampir semuanya bekerja sebagai GiNaC . masing-masing
metode dengan nama yang sama, jadi saya tidak akan menjelaskannya secara rinci di sini. Silakan merujuk ke
dokumentasi GiNaC.
charpoly(matriks, simbol) - polinomial karakteristik dari suatu matriks
kopi (ekspresi, obyek, jumlah) - mengekstrak koefisien objek^nomor dari a
polinomial
mengumpulkan(ekspresi, objek-atau-daftar) - mengumpulkan koefisien kekuatan yang sama (hasil
dalam bentuk rekursif)
kumpulkan_didistribusikan(ekspresi, daftar) - mengumpulkan koefisien kekuatan serupa
(hasil dalam bentuk terdistribusi)
kumpulkan_faktor_umum(ekspresi) - mengumpulkan faktor-faktor umum dari istilah jumlah
mengkonjugasikan(ekspresi) - konjugasi kompleks
isi(ekspresi, simbol) - bagian isi dari polinomial
dekomp_rasional(ekspresi, simbol) - menguraikan fungsi rasional menjadi polinomial
dan fungsi rasional yang tepat
gelar(ekspresi, obyek) - derajat polinomial
pecahan (ekspresi) - penyebut fungsi rasional
penentu (matriks) - determinan matriks
menggali(ekspresi...) - membangun matriks diagonal
perbedaan(ekspresi, simbol [, nomor]) - diferensiasi parsial
membagi(ekspresi, ekspresi) - pembagian polinomial yang tepat
evaluasi(ekspresi [, tingkat]) - mengevaluasi ekspresi, mengganti simbol dengan
nilai yang ditetapkan
mengelak (ekspresi [, tingkat]) - mengevaluasi ekspresi ke angka floating point
evaluasi(ekspresi) - mengevaluasi jumlah, produk, dan kekuatan bilangan bulat dari matriks
mengembangkan(ekspresi) - memperluas ekspresi
faktor(ekspresi) - memfaktorkan ekspresi (univariat)
Temukan(ekspresi, belt hold) - mengembalikan daftar semua kemunculan suatu pola dalam sebuah
ekspresi
memecahkan(ekspresi, simbol, jumlah, jumlah) - secara numerik menemukan akar dari nilai nyata
fungsi dalam interval
gcd(ekspresi, ekspresi) - Pembagi umum terbesar
memiliki(ekspresi, belt hold) - mengembalikan "1" jika ekspresi pertama berisi pola
sebagai subekspresi, "0" sebaliknya
bilangan bulat_konten(ekspresi) - konten bilangan bulat dari polinomial
terbalik(matriks) - invers matriks
adalah(hubungan) - mengembalikan "1" jika relasinya benar, "0" jika tidak (salah atau
bimbang)
lcm(ekspresi, ekspresi) - kelipatan persekutuan terkecil
kopi(ekspresi, obyek) - koefisien terkemuka dari polinomial
derajat(ekspresi, obyek) - polinomial derajat rendah
memecahkan(persamaan-daftar, daftar simbol) - memecahkan sistem persamaan linear
peta(ekspresi, belt hold) - menerapkan fungsi ke setiap operan; fungsi menjadi
diterapkan ditentukan sebagai pola dengan karakter pengganti "$0" untuk operan
cocok(ekspresi, belt hold) - periksa apakah ekspresi cocok dengan pola; mengembalikan
daftar pergantian wildcard atau "GAGAL" jika tidak ada yang cocok
tidak(ekspresi) - jumlah operan dalam ekspresi
normal(ekspresi [, tingkat]) - normalisasi fungsi rasional
angka(ekspresi) - pembilang fungsi rasional
bilangan_denom(ekspresi) - pembilang dan penyebut fungsi rasional sebagai a
daftar
op(ekspresi, jumlah) - ekstrak operan dari ekspresi
kekuasaan(expr1, expr2) - eksponensial (setara dengan menulis expr1^expr2)
premi(ekspresi, ekspresi, simbol) - pseudo-sisa polinomial
bagian utama (ekspresi, simbol) - bagian primitif dari polinomial
quo(ekspresi, ekspresi, simbol) - hasil bagi polinomial
pangkat(matriks) - peringkat matriks
rem(ekspresi, ekspresi, simbol) - sisa polinomial
yg dihasilkan(ekspresi, ekspresi, simbol) - resultan dari dua polinomial dengan
menghormati simbol s
seri(ekspresi, hubungan-atau-simbol, urutan) - ekspansi seri
sperma (ekspresi, ekspresi, simbol) - sisa-sisa semu yang jarang dari polinomial
bebas persegi(ekspresi [, daftar simbol]) - faktorisasi polinomial bebas kuadrat
persegi(ekspresi) - akar pangkat dua
kapal selam (ekspresi, hubungan-atau-daftar)
kapal selam (ekspresi, daftar pencarian, ganti demi daftar) - subekspresi pengganti (you
dapat menggunakan wildcard)
kopi(ekspresi, obyek) - koefisien trailing dari polinomial
waktu(ekspresi) - mengembalikan waktu dalam detik yang diperlukan untuk mengevaluasi yang diberikan
ekspresi
jejak(matriks) - jejak matriks
mengubah urutan(matriks) - transpos matriks
batalkan penetapan('simbol') - batalkan penetapan simbol yang ditetapkan (harap perhatikan kutipannya!)
satuan(ekspresi, simbol) - bagian unit dari polinomial
KHUSUS PERINTAH
Untuk keluar dari ginsh, masukkan
berhenti
or
keluar
ginsh dapat menampilkan bantuan (pendek) untuk topik tertentu (kebanyakan tentang fungsi dan operator)
dengan memasukkan
?tema
ketikan
??
akan menampilkan daftar topik bantuan yang tersedia.
Perintah
mencetak(ekspresi);
akan mencetak dump representasi internal GiNaC untuk yang diberikan ekspresi. Ini
berguna untuk debugging dan untuk belajar tentang internal GiNaC.
Perintah
print_lateks(ekspresi);
mencetak representasi LaTeX dari yang diberikan ekspresi.
Perintah
cetak_csrc(ekspresi);
mencetak yang diberikan ekspresi dengan cara yang dapat digunakan dalam program C atau C++.
Perintah
cetak(ekspresi);
mencetak yang diberikan ekspresi (yang harus dievaluasi ke bilangan bulat) dalam desimal, oktal, dan
representasi heksadesimal.
Akhirnya, cangkangnya lolos
! [Command [argumen]]
melewati yang diberikan Command dan secara opsional argumen ke shell untuk dieksekusi. Dengan ini
metode, Anda dapat menjalankan perintah shell dari dalam ginsh tanpa harus keluar.
CONTOH
> a = x^2-x-2;
-2-x+x^2
> b = (x+1)^2;
(x+1)^2
> s = a/b;
(x+1)^(-2)*(-2-x+x^2)
> perbedaan(s, x);
(2*x-1)*(x+1)^(-2)-2*(x+1)^(-3)*(-x+x^2-2)
> biasa;
(x-2)*(x+1)^(-1)
> x = 3^50;
717897987691852588770249
> s;
717897987691852588770247/717897987691852588770250
> Digit = 40;
40
> evaluasi;
0.999999999999999999999995821133292704384960990679
> batalkan penetapan('x');
x
> s;
(x+1)^(-2)*(-x+x^2-2)
> deret(sin(x),x==0,6);
1*x+(-1/6)*x^3+1/120*x^5+Order(x^6)
> lsolve({3*x+5*y == 7}, {x, y});
{x==-5/3*y+7/3,y==y}
> lsolve({3*x+5*y == 7, -2*x+10*y == -5}, {x, y});
{x==19/8,y==-1/40}
> M = [ [a, b], [c, d] ];
[[-x+x^2-2,(x+1)^2],[c,d]]
> penentu (M);
-2*d-2*x*cx^2*cx*d+x^2*dc
> kumpulkan(%, x);
(-d-2*c)*x+(dc)*x^2-2*dc
> memecahkan teori medan kuantum;
mengurai kesalahan di kuantum
> berhenti
DIAGNOSTIK
kesalahan penguraian pada foo
Anda memasukkan sesuatu yang tidak dapat diuraikan oleh ginsh. Silakan periksa sintaks dari
masukan Anda dan coba lagi.
argumen num untuk fungsi harus a mengetik
Nomor argumen num kepada yang diberikan fungsi harus dari jenis tertentu (misalnya a
simbol, atau daftar). Argumen pertama memiliki nomor 0, argumen kedua nomor 1,
dan sebagainya
Gunakan ginsh online menggunakan layanan onworks.net
