ginsh - Dalam talian di Awan

Ini ialah perintah ginsh yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


ginsh - Cangkang Interaktif GiNaC

SINPOSIS


ginsh [fail ...]

DESCRIPTION


ginsh ialah bahagian hadapan interaktif untuk rangka kerja pengiraan simbolik GiNaC. Ia adalah
dimaksudkan sebagai alat untuk menguji dan bereksperimen dengan ciri GiNaC, bukan sebagai a
penggantian sistem algebra komputer interaktif tradisional. Walaupun ia boleh melakukan banyak perkara
perkara yang boleh dilakukan oleh sistem tradisional ini, ginsh tidak menyediakan binaan pengaturcaraan seperti itu
gelung atau ungkapan bersyarat. Jika anda memerlukan fungsi ini, anda dinasihatkan untuk menulis
program anda dalam C++, menggunakan rangka kerja kelas GiNaC "asli".

PENGGUNAAN


INPUT FORMAT
Selepas permulaan, ginsh memaparkan gesaan ("> ") yang menandakan bahawa ia bersedia untuk menerima anda
input. Input yang boleh diterima ialah ungkapan angka atau simbolik yang terdiri daripada nombor (cth
42, 2/3 or 0.17), simbol (cth x or mengakibatkan), pengendali matematik seperti + and *, dan
fungsi (cth tanpa or biasa). Setiap ungkapan input mesti ditamatkan dengan sama ada a
titik bertitik (;) atau kolon (:). Jika ditamatkan dengan koma bertitik, ginsh akan menilai
ekspresi dan cetak hasilnya ke stdout. Jika ditamatkan dengan kolon, ginsh hanya akan
menilai ungkapan tetapi tidak mencetak hasilnya. Ia adalah mungkin untuk memasukkan berbilang
ungkapan pada satu baris. Ruang putih (ruang, tab, baris baharu) boleh digunakan secara bebas antara
token. Untuk berhenti ginsh, masukkan berhenti or keluar, atau taip EOF (Ctrl-D) pada gesaan.

KOMENTAR
Apa-apa sahaja yang mengikuti garis miring berganda (//) sehingga penghujung baris, dan semua baris bermula
dengan tanda cincang (#) dianggap sebagai ulasan dan diabaikan.

NOMBOR
ginsh menerima nombor dalam tatatanda perpuluhan biasa. Ini termasuk ketepatan sewenang-wenangnya
integer dan rasional serta nombor titik terapung dalam piawai atau saintifik
tatatanda (cth 1.2E6). Peraturan am ialah jika nombor mengandungi titik perpuluhan
(.), ia ialah nombor titik terapung (tidak tepat); sebaliknya ia adalah integer (tepat) atau
rasional. Integer boleh ditentukan dalam binari, perlapanan, perenambelasan atau arbitrari (2-36)
asas dengan memberi awalan dengan #b, #o, #x, Atau #nR , Masing-masing.

SIMBOL
Simbol terdiri daripada rentetan aksara alfanumerik dan garis bawah (_), dengan
aksara pertama adalah bukan angka. Cth a and mu_1 adalah nama simbol yang boleh diterima, manakala
2pi tidak. Anda boleh menggunakan simbol dengan nama yang sama seperti fungsi (cth tanpa);
ginsh dapat membezakan antara keduanya.

Simbol boleh diberikan nilai dengan memasukkan
lambang = ungkapan;

Untuk membatalkan peruntukkan nilai simbol yang diberikan, taip
nyahtugaskan('lambang');

Simbol yang diberikan dinilai secara automatik (= digantikan dengan nilai yang ditetapkan) apabila
mereka digunakan. Untuk merujuk kepada simbol yang tidak dinilai, letakkan petikan tunggal (') di sekeliling nama,
seperti yang ditunjukkan untuk arahan "nyahtugaskan" di atas.

Simbol dianggap berada dalam domain kompleks secara lalai, iaitu ia dianggap seolah-olah
mereka berdiri untuk nombor kompleks. Tingkah laku ini boleh diubah dengan menggunakan kata kunci
simbol_sebenar and kompleks_simbol dan mempengaruhi semua simbol yang baru dicipta.

Simbol berikut ialah pemalar yang telah ditetapkan yang tidak boleh diberikan nilai oleh
pengguna:

Pi Pemalar Archimedes

Catalan Pemalar Catalan

Euler Pemalar Euler-Mascheroni

I persegi(-1)

GAGAL objek kelas "gagal" GiNaC

Ada juga yang istimewa
Digit
simbol yang mengawal ketepatan berangka pengiraan dengan nombor tidak tepat.
Menetapkan nilai integer kepada digit akan menukar ketepatan kepada nombor yang diberikan
tempat perpuluhan.

WILDCARDS
Fungsi has(), find(), match() dan subs() menerima kad bebas sebagai ruang letak untuk
ungkapan. Ini mempunyai sintaks
$nombor
contohnya $0, $1 dsb.

LAST Dicetak EKSPRESI
ginsh menyediakan tiga simbol khas
%, %% dan %%%
yang merujuk kepada ungkapan cetakan terakhir, kedua terakhir dan ketiga terakhir yang dicetak.
Ini berguna jika anda ingin menggunakan hasil pengiraan sebelumnya dalam yang baharu
ungkapan.

PENGENDALI
ginsh menyediakan pengendali berikut, disenaraikan dalam susunan keutamaan yang menurun:

! faktorial postfix

^ berkuasa

+ tambah unary

- tolak unary

* pendaraban

/ bahagian

+ Selain itu

- pengurangan

< kurang daripada

> lebih besar daripada

<= kurang atau sama

>= lebih besar atau sama

== sama

!= tidak sama

= tugasan simbol

Semua pengendali binari adalah bersekutu kiri, kecuali ^ and = yang betul-
berpersatuan. Keputusan pengendali tugasan (=) ialah sebelah kanannya, jadi begitu
mungkin untuk menetapkan berbilang simbol dalam satu ungkapan (cth a = b = c = 2;).

SENARAI
Senarai digunakan oleh kapal selam and lsolve fungsi. Senarai terdiri daripada pendakap kerinting pembukaan
({), urutan ungkapan yang dipisahkan koma (mungkin kosong) dan pendakap kerinting penutup
(}).

MATRIKS
Suatu matriks terdiri daripada kurungan segi empat bukaan ([), urutan yang tidak dipisahkan koma kosong
baris matriks, dan kurungan empat segi penutup (]). Setiap baris matriks terdiri daripada pembukaan
kurungan segi empat sama ([), urutan ungkapan yang tidak dipisahkan koma dan penutup
kurungan segi empat sama (]). Jika baris matriks tidak sama panjang, lebar bagi
matriks menjadi baris terpanjang dan baris yang lebih pendek diisi di hujung dengan
unsur nilai sifar.

FUNGSI
Panggilan fungsi dalam ginsh mempunyai bentuk
nama(hujah)
di mana hujah ialah urutan ungkapan yang dipisahkan koma. ginsh menyediakan beberapa
fungsi terbina dalam dan juga "mengimport" semua fungsi simbolik yang ditakrifkan oleh GiNaC dan
perpustakaan tambahan. Tiada cara untuk menentukan fungsi anda sendiri selain daripada memaut
ginsh terhadap perpustakaan yang mentakrifkan fungsi GiNaC simbolik.

ginsh menyediakan Tab-completion pada nama fungsi: jika anda menaip bahagian pertama fungsi
nama, menekan Tab akan melengkapkan nama jika boleh. Jika bahagian yang anda taip tidak unik,
menekan Tab sekali lagi akan memaparkan senarai fungsi yang sepadan. Memukul Tab dua kali di
prompt akan memaparkan senarai semua fungsi yang tersedia.

Senarai fungsi terbina dalam berikut. Mereka hampir semua bekerja sebagai GiNaC masing-masing
kaedah dengan nama yang sama, jadi saya tidak akan menerangkannya secara terperinci di sini. Sila rujuk kepada
dokumentasi GiNaC.

charpoly(matriks, lambang) - polinomial ciri matriks
coeff(ungkapan, objek, nombor) - mengekstrak pekali objek^nombor daripada a
polinomial
kumpul (ungkapan, objek-atau-senarai) - mengumpul pekali kuasa yang sama (hasil
dalam bentuk rekursif)
collect_distributed(ungkapan, senarai) - mengumpul pekali kuasa yang sama
(hasil dalam bentuk yang diedarkan)
collect_common_factors(ungkapan) - mengumpul faktor sepunya daripada terma jumlah
konjugat(ungkapan) - konjugasi kompleks
kandungan(ungkapan, lambang) - bahagian kandungan polinomial
decomp_rasional(ungkapan, lambang) - menguraikan fungsi rasional kepada polinomial
dan fungsi rasional yang betul
ijazah(ungkapan, objek) - darjah polinomial
denom(ungkapan) - penyebut bagi fungsi rasional
penentu (matriks) - penentu sesuatu matriks
rajah(ungkapan...) - membina matriks pepenjuru
perbezaan (ungkapan, lambang [, nombor]) - pembezaan separa
bahagikan (ungkapan, ungkapan) - pembahagian polinomial yang tepat
eval(ungkapan [, tahap]) - menilai ungkapan, menggantikan simbol dengan mereka
nilai yang ditetapkan
evalf(ungkapan [, tahap]) - menilai ungkapan kepada nombor titik terapung
evalm(ungkapan) - menilai jumlah, hasil darab dan kuasa integer bagi matriks
mengembangkan (ungkapan) - mengembangkan ungkapan
faktor(ungkapan) - memfaktorkan ungkapan (univariate)
cari(ungkapan, pola) - mengembalikan senarai semua kejadian corak dalam an
ungkapan
penyelesaian (ungkapan, lambang, nombor, nombor) - mencari punca nilai sebenar secara berangka
berfungsi dalam selang waktu
gcd(ungkapan, ungkapan) - pembahagi sepunya terbesar
mempunyai(ungkapan, pola) - mengembalikan "1" jika ungkapan pertama mengandungi corak
sebagai subungkapan, "0" sebaliknya
integer_content(ungkapan) - kandungan integer polinomial
songsang(matriks) - songsangan matriks
ialah(berhubung) - mengembalikan "1" jika hubungannya benar, "0" sebaliknya (salah atau
belum tentu)
lcm(ungkapan, ungkapan) - gandaan sepunya terkecil
lcoeff(ungkapan, objek) - pekali utama bagi polinomial
ijazah(ungkapan, objek) - darjah rendah polinomial
lsolve(senarai persamaan, senarai simbol) - menyelesaikan sistem persamaan linear
peta(ungkapan, pola) - gunakan fungsi untuk setiap operan; fungsi menjadi
digunakan ditentukan sebagai corak dengan kad bebas "$0" berdiri untuk operan
perlawanan(ungkapan, pola) - semak sama ada ungkapan sepadan dengan corak; pulangan a
senarai penggantian kad bebas atau "GAGAL" jika tiada padanan
tidak (ungkapan) - bilangan operan dalam ungkapan
biasa (ungkapan [, tahap]) - normalisasi fungsi rasional
nombor(ungkapan) - pengangka bagi fungsi rasional
bilangan_denom(ungkapan) - pengangka dan penyebut bagi fungsi rasional sebagai a
senarai
op(ungkapan, nombor) - ekstrak operan daripada ungkapan
kuasa(expr1, expr2) - eksponen (bersamaan dengan menulis expr1^expr2)
prem(ungkapan, ungkapan, lambang) - pseudo-baki polinomial
primpart(ungkapan, lambang) - bahagian primitif polinomial
quo(ungkapan, ungkapan, lambang) - hasil bagi polinomial
pangkat (matriks) - pangkat matriks
rem(ungkapan, ungkapan, lambang) - baki polinomial
terhasil(ungkapan, ungkapan, lambang) - paduan dua polinomial dengan
menghormati simbol s
siri (ungkapan, hubungan-atau-simbol, bagi) - pengembangan siri
sprem(ungkapan, ungkapan, lambang) - jarang pseudo-baki polinomial
sqrfree(ungkapan [, senarai simbol]) - pemfaktoran bebas kuasa dua bagi polinomial
persegi(ungkapan) - punca kuasa dua
subs(ungkapan, hubungan-atau-senarai)
subs(ungkapan, senarai cari, ganti-dengan-senarai) - subungkapan gantian (anda
boleh menggunakan kad bebas)
tcoeff(ungkapan, objek) - pekali mengekor polinomial
masa(ungkapan) - mengembalikan masa dalam saat yang diperlukan untuk menilai yang diberikan
ungkapan
jejak(matriks) - jejak matriks
transpose(matriks) - transpose matriks
nyahtugaskan ('simbol') - batalkan peruntukkan simbol yang diperuntukkan (harap sebut harga, sila!)
unit(ungkapan, lambang) - bahagian unit polinomial

KHAS PERINTAH
Untuk keluar dari ginsh, masukkan
berhenti
or
keluar

ginsh boleh memaparkan bantuan (pendek) untuk topik tertentu (kebanyakannya mengenai fungsi dan pengendali)
dengan memasukkan
?topik
Menaip
??
akan memaparkan senarai topik bantuan yang tersedia.

Perintah itu
cetak(ungkapan);
akan mencetak longgokan perwakilan dalaman GiNaC untuk yang diberikan ungkapan. Ini adalah
berguna untuk penyahpepijatan dan untuk mempelajari tentang dalaman GiNaC.

Perintah itu
cetakan_lateks(ungkapan);
mencetak perwakilan LaTeX yang diberikan ungkapan.

Perintah itu
print_csrc(ungkapan);
mencetak yang diberikan ungkapan dengan cara yang boleh digunakan dalam program C atau C++.

Perintah itu
cetak(ungkapan);
mencetak yang diberikan ungkapan (yang mesti dinilai kepada integer) dalam perpuluhan, perlapanan dan
perwakilan heksadesimal.

Akhirnya, cangkerang itu melarikan diri
! [arahan [hujah]]
melepasi yang diberikan arahan dan pilihan hujah ke cangkerang untuk dilaksanakan. Dengan ini
kaedah, anda boleh melaksanakan arahan shell dari dalam ginsh tanpa perlu berhenti.

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)
> perbezaan(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
> evalf(s);
0.999999999999999999999995821133292704384960990679
> nyahtugaskan('x');
x
> s;
(x+1)^(-2)*(-x+x^2-2)
> siri(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
> collect(%, x);
(-d-2*c)*x+(dc)*x^2-2*dc
> menyelesaikan teori medan kuantum;
ralat menghuraikan pada kuantum
> berhenti

DIAGNOSTIK


ralat hurai di foo
Anda memasukkan sesuatu yang tidak dapat dihuraikan oleh ginsh. Sila semak sintaks bagi
input anda dan cuba lagi.

hujah num kepada fungsi mestilah a jenis
Nombor hujah num kepada yang diberi fungsi mestilah daripada jenis tertentu (cth
simbol, atau senarai). Hujah pertama mempunyai nombor 0, hujah kedua nombor 1,
dan lain-lain.

Gunakan ginsh dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini